一.数组去重
方法1.indexOf
var qwe = [5, 4, 3, 2, 1,77,77,2,1,33]; function Char(num) { var a = [] for (var i = 0; i < num.length; i++) { if (a.indexOf(num[i]) == -1) { a.push(num[i]) } } return a } console.log(Char(qwe))
2.Set(es6)
var qwe = [5, 4, 3, 2, 1,1,2,3,4,5]; function unique (arr) { return Array.from(new Set(arr)) } console.log(unique(qwe))
二.数组排序
1.倒序(返回的是原数组)
reverse()
var arr = [5, 4, 3, 2, 1,9,33,1]; console.log(arr.reverse())
2.正序从小到大sort(a,b)=>a-b
从大到小sort(a,b)=>b-a
var arr = [5, 4, 3, 2, 1,9,6,33]; console.log(arr.sort((a,b)=>a-b))
3.冒泡排序(相邻的数据进行两两比较,小数放在前面,大数放在后面,这样一趟下来,最小的数就被排在了第一位,第二趟也是如此,如此类推,直到所有的数据排序完成。)
var arr = [4,23,100,9,7,49,36,57]; console.log("原始数据:"+arr); for(var i=0;i<arr.length-1;i++){//确定轮数 for(var j=0;j<arr.length-i-1;j++){//确定每次比较的次数 if(arr[j]>arr[j+1]){ tem = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tem; } } console.log("第"+i+"次排序"+arr) } console.log("最终排序:"+arr)
三.判断数组中的最大值和最小值
1.使用for循环一边数组,在里面做判断,大于或小于存进去
var num=[2,3,4,2,1,2,4,6,7,8,55,3,2,8] function findMin(num){ var a = num[0]; for(var i =0;i<num.length;i++){ if(a > num[i]){ a = num[i] } } return a } function findMax(num) { var a = num[0]; for (var i = 0; i < num.length; i++) { if (a < num[i]) { a = num[i] } } return a } console.log(findMax(num))
2.Math.max或者min
var num=[2,3,4,2,1,2,4,6,7,8,55,3,2,8,88] function Max(arr){ return Math.max(...arr) } console.log(Max(num))
四.拼接数组(concat,push)
concat:拼接比较费时
const arr1 = [4,23,100,9,7,49,36,57]; const arr=[1,2,3,4,9] function qwe(a,b){ const c= a.concat(...b) return c } console.log(qwe(arr1,arr))
push:返回是数组的长度
const arr1 = [4,23,100,9,7,49,36,57]; const arr=[1,2,3,4,9] function qwe(a,b){ const c= a.push(...b) return c } console.log(qwe(arr1,arr))