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
運行結果示意圖爲
去重:
正則: