js对数组宝具

数组去重

	var unique = [...new Set(arr)]

置空数组

	var arr = [1,2,3];
	arr.lenght = 0;
	console.log(arr); //[]

模拟map()

	var arr = [ {a: 1}, {a: 2}, { a: 3}];
	var result = Array.from(arr, (item) => { return item.a});
	console.log(result) // [1, 2, 3]

数组转化对象

	let obj = {...arr};

关于方法

Array.forEach()
没有返回值,针对每个元素调用回调,会直接改变原始数组

	const array1 = [1,2,3,4,5];
	array1.forEach((item,index,arr) => arr[index] = item+1);
	console.log(array1); // [2,3,4,5,6]

常用,针对每个元素进行回调

	const array1 = [1,2,3,4,5];
	let sum = 0;
	array1.forEach(item => sum += item);
	console.log(sum); // 15

根据数组某一项进行分类

	const update = [
		{"type":"DM-1","content":"90"},
		{"type":"DM-2","content":"90"},
		{"type":"DM-2","content":"90"},
		{"type":"DM-3","content":"90"},
		{"type":"DM-3","content":"90"}
	];
	const arr = [];
	const obj = {};
	
	update.forEach((item,index) => {
		if (arr.includes(item.type)) {
			obj[item.type].push(item);
		} else {
			arr.push(item.type);
			obj[item.type] = [item];
		}
	})
	
	console.log(arr); // ["DM-1","DM-2","DM-3"]
	console.log(obj); 

Array.filter()
对所有元素进行判断,将满足条件的元素作为一个新的数组返回

	let arr1 = [1,2,3,4,4]
	let arr2 = [3,4,5,6,7]
	并集
	let union = new Set([...arr1,...arr2])
	交集
	let intersect  = new Set([...arr1].filter(item => arr2.has(item)))
	差集
	let difference = new Set([...arr1].filter(item => !arr2.has(item)))

Array.fill()
使用给定值,填充一个数组,用于空数组的初始化非常方便,如果数组中已有元素则会全部被抹去

	['a', 'b', 'c'].fill(7); // [7,7,7];
	
	['a', 'b', 'c'].fill(7, 1, 2); // ['a',7,'c']
	
	//如果填充的类型为对象,那么被赋值的是同一个内存地址的对象,而不是深拷贝对象。
	
	let arr = new Array(3).fill({name: "Mike"});
	arr[0].name = "Ben";
	console.log(arr); // [{name: "Ben"}, {name: "Ben"}, {name: "Ben"}]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值