前端比较常用的几种数组处理方法

1.单个数组去重

代码如下:

var a=[1,1,2,3,4,4,5,6,7,8,9,1]

const res=new Map();//这个是必须要写的
//开始去重
a=a.filter((a)=>!res.has(a)&&res.set(a,1));

2.两个数组去重

代码如下:

var a=[1,2,3,4]
var b=[1,2,3,4.5,6,]
 //建两个临时数组
 let aa=[ ]
 let bb=[ ]
 
//开始循环拿
for(let i=0;i<a.length;i++){
   aa[a]=true
}
// 注:上面一步是为了给a数组的每一个加上一个标识true,来与b数组的值进行对比
for(let b=0;b<a.length;b++){
    if(!aa[b]){
       bb.push(b)
     }
}
// 注:如果aa里面的数与b里面的数不相等,就把不想等的放到一个数组中

3.将一位数组分割成每n个一组

代码如下:

function spArr(arr, num=1) { //arr是你要分割的数组,num是以几个为一组
	let newArr = [] //首先创建一个新的空数组。用来存放分割好的数组
	for (let i = 0; i < arr.length;) { //注意:这里与for循环不太一样的是,没有i++
		newArr.push(arr.slice(i, i += num));
	}
	return newArr
}
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(spArr(arr, 4))

 4.两个普通数组合成一个list数组

代码如下:

var a=[1,2,3,4,5]
var b=["数字一","数字二","数字三","数字四","数字五"]
for(let c=0;c<a.length;c++){
    let ab=[]
     ab.push({ id:a[c], label:b[c] })
 }
//  结果:ab=[{id:1,label:数字一},{id:2,label:数字二},{id:3,label:数字三},{id:4,label:数字四},{id:5,label:数字五}]

希望可以帮助到你们,欢迎分享

猜你喜欢

转载自blog.csdn.net/qq_47629187/article/details/124724336