JS数组数据的重组,过滤,筛选,拼接方法

filter() 数组重组方法 https://www.runoob.com/cssref/css3-pr-filter.html
indexOf() 筛选数组方法 http://www.w3school.com.cn/jsref/jsref_indexOf.asp
concat() 数组拼接方法 http://www.w3school.com.cn/jsref/jsref_concat_array.asp
includes() 包含 https://www.runoob.com/jsref/jsref-includes.html
filter,indexOf两个函数方法,在项目中我们经常用来过滤数据,或者重组数据,其他的也可以用for循环,forEach,$.each来循环过滤

ES6写法

filter() 重组数组的数据很好用

test(){
			let m=this;
			let arr1=[1,2,3];
			let arr2=arr1.filter((v,i)=>{
				return v!='2'
			})			
			console.log(arr2)//数据返回[1,3]			
},

indexOf() 筛选数组方法

test(){
			let arr1=[
				[1,2,3],
				[2,2,3],
				[1,4,3],
				[1,2,6]
			];
			let arr3=[]
			arr1.forEach((v,i)=>{
				if(v.indexOf(4)!=-1){
					arr3.push(v)
				}
			})
			console.log(arr3)//数据返回有4的数组[1,4,3]
},

concat() 把多个数组连接在一起

test(){
	let arr1=[1,2,3]
	let arr2=[4,5,6]
	let arr3=[7,8,9]
	let arr4=[1,2,12]
	let test=[]
	test=test.concat(arr1).concat(arr2).concat(arr3).concat(arr4)
	console.log(test)//数据返回[1,2,3,4,5,6,7,8,9,1,2,12]
}

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false

[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false
[1, 2, 3].includes(3, 3);  // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true

结合运用

取两个数组的并集

	let test1 = [1, 2, 3]
	let test2 = [2, 4, 5]
	let arr= test1.concat(test2.filter(v => !test1.includes(v)))
	console.log(arr)// 数据返回 [1,2,3,4,5]

取两个数组的交集

	let test1 = [1, 2, 3]
	let test2 = [2, 4, 5]
	let arr=test1.filter(v => test2.includes(v))
	console.log(arr)// 数据返回 [2]

取两个数组的差集

	let test1 = [1, 2, 3]
	let test2 = [2, 4, 5]
	let arr=test1.concat(test2).filter(v => test1.includes(v) && !test2.includes(v))
	console.log(arr)// 数据返回 [1,3]
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值