方法一:
采用對象訪問屬性的方法五辽,判斷屬性值是否存在,如果不存在就添加外恕。
方法二:
采用數(shù)組中的reduce方法杆逗,遍歷數(shù)組,也是通過對象訪問屬性的方法
var arr =
[
{
key: "01",
value: "樂樂"
},
{
key: "02",
value: "博博"
},
{
key: "03",
value: "淘淘"
},
{
key: "04",
value: "哈哈"
},
{
key: "01",
value: "樂樂"
}
];
// 方法1:利用對象訪問屬性的方法鳞疲,判斷對象中是否存在key
var result = [];
var obj = {};
for (var i = 0; i < arr.length; i++) {
if (!obj[arr[i].key]) {
result.push(arr[i]);
obj[arr[i].key] = true;
}
}
console.log(result);
// [{key: "01", value: "樂樂"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]
// 方法2:利用reduce方法遍歷數(shù)組,reduce第一個參數(shù)是遍歷需要執(zhí)行的函數(shù)罪郊,第二個參數(shù)是item的初始值
var obj = {};
arr = arr.reduce(function(item, next) {
obj[next.key] ? "" : (obj[next.key] = true && item.push(next));
return item;
}, []);
console.log(arr);
// [{key: "01", value: "樂樂"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]