我正在尝试从数组列表中删除重复项。我尝试执行此操作的方法是使用reduce 创建一个空数组,将所有未定义的索引推送到该数组上。但我收到错误
if(acc[item]===undefined){
^
TypeError: Cannot read property '1' of undefined
我的功能如下:
function noDuplicates(arrays) {
var arrayed = Array.prototype.slice.call(arguments);
return reduce(arrayed, function(acc, cur) {
forEach(cur, function(item) {
if (acc[item] === undefined) {
acc.push(item);
}
return acc;
});
}, []);
}
console.log(noDuplicates([1, 2, 2, 4], [1, 1, 4, 5, 6]));
首先连接两个数组,接下来使用filter() http://api.jquery.com/filter/仅过滤掉独特的项目-
var a = [1, 2, 2, 4], b = [1, 1, 4, 5, 6];
var c = a.concat(b);
var d = c.filter(function (item, pos) {return c.indexOf(item) == pos});
console.log(d);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)