js陣列簡單去重,js陣列根據物件中的元素去重
阿新 • • 發佈:2019-02-11
js陣列簡單去重
var arr1 = [1, 2, 3, 4, 5, 6, 3, 4, 3];
function arrayUnique1(arr) {
var result = [], hash = {};
for (var i = 0, elem; (elem = arr[i]) != null; i++) {
if (!hash[elem]) {
result.push(elem);
hash[elem] = true;
}
}
return result;
}
console.log(arrayUnique1(arr1));
結果:
js陣列根據物件中的元素去重
結果:var arr2 = [ { name: "name1", num: "1" }, { name: "name2", num: "11" }, { name: "name3", num: "12" }, { name: "name4", num: "13" }, { name: "name2", num: "1" }, { name: "name6", num: "12" } ] function arrayUnique2(arr, name) { var hash = {}; return arr.reduce(function (item, next) { hash[next[name]] ? '' : hash[next[name]] = true && item.push(next); return item; }, []); } console.log(arrayUnique2(arr2, "name")); console.log(arrayUnique2(arr2, "num"));