怎么用js去除一组数据中重复的元素?
怎么去除一组数据中重复的元素?
function removeDuplicates(array) {
var temp={}
var result =[]
for (let i = 0; i < array.length; i++) {
if (!temp[array[i]]) { //如果设置当前元素的值不为true
temp[array[i]] = true //设置当前元素的值为true
result.push(array[i])//推进新数组
}
}
// console.log(temp);
return result;
}
var arr = [1,0,1,3,45,6,2,3,4,2,8,9,0,2]
console.log(removeDuplicates(arr));
根据对象的方法来解答,将数组的元素作为对象的key,第一次出现这个key,就把这个key的value赋值为true,后面数组再出现这个元素就可以访问到true这个属性。非常巧妙的解决了这个问题。
下面是打印出来的temp对象和去重的结果,方便理解。
{
'0': true,
'1': true,
'2': true,
'3': true,
'4': true,
'6': true,
'8': true,
'9': true,
'45': true
}
[
1, 0, 3, 45, 6,
2, 4, 8, 9
]
代码成就万世基积沙镇海
梦想永在凌云意意气风发