我有一个数组a = [1, 2, 3, 4, 5, 1, 2, 3]
如何获取数组b = [4, 5]
。如何删除所有有重复的元素?
发布于 2018-10-19 04:25:53
需要循环遍历它,看看它是否存在。最简单的方法是对它的邻居进行排序和查看。
var nums = [1, 2, 3, 4, 5, 1, 2, 3];
var noDupes = nums.slice().sort() //sort it so numbers line up
.reduce(function(result, c, i, arr){ //loop over the set
if (c !== arr[i+1] && c !== arr[i-1]) { //see if number is before or after
result.push(c) //if not, than add it
}
return result
}, [])
console.log(noDupes);
var noDupes2 = nums.slice().sort()
.filter((c, i, arr) => c !== arr[i+1] && c !== arr[i-1])
console.log(noDupes2);
另一种解决方案是查看索引而不排序
var nums = [1, 2, 3, 4, 5, 1, 2, 3];
var noDupes = nums.filter(( c, i, arr) => arr.indexOf(c) === arr.lastIndexOf(c))
console.log(noDupes)
发布于 2018-10-19 04:28:57
通过过滤索引与上一个索引不同的索引;
a = [1, 2, 3, 4, 5, 1, 2, 3];
//console.log(a);
b = a.filter((value) => a.indexOf(value) == a.lastIndexOf(value));
console.log(b)
https://stackoverflow.com/questions/52881796
复制相似问题