【js 中数组对象去重的方法】

js中数组对象去重的方法

let arr = [{a: 1, b: 2}, {a: 1, b: 3}, {a: 2, b: 2}, {a: 3, b: 2}, {a: 4, b: 2}];
//1、借助数组中reduce方法,访问遍历数组,其也是借助访问对象属性方法
let obj = {};
arr = arr.reduce(function (item, next) {
	obj[next.a] ? '' : obj[next.a] = true && item.push(next);
	return item;
}, []);
console.log(arr);

//2、借助对象访问属性的方法,判断属性是否存在,如果已存在则进行过滤
let result = [];
let obj1 = {};
for (var i = 0; i < arr.length; i++) {
	if (!obj1[arr[i].a]) {
		result.push(arr[i]);
		obj1[arr[i].a] = true;
	}
}
console.log(result);

//3、链式调用
[...new Set(arr.map(i => i.a))].map(index => arr.find(value => value.a === index));

//4、匹配url正则   
以http或者https开头,以空格结尾中中间的字符。要的效果是 

反对暴力抗拒的  http://www.baidu.com   

识别出这段文字中的网址 让他成为超链接可点击

正则为:/(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|\&|-)+)/g

运行结果示意图为

去重:
在这里插入图片描述
正则:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章