我正在尝试将一个参数传递给一个函数,这样我就可以多次调用我的数组对象元素了(因为我从sql查询中返回了很多它们)。
removeDuplicates(arr, x){
var tmp = [];
var tmp2=[];
for(let i = 0; i < 50; i++){
if(tmp.indexOf(arr[i].id) == -1){
tmp.push(arr[i].id); //always id
tmp2.push(arr[i].x); //for example arr[i].name
}
}
return tmp2;
}
如果我这样做并调用这样的方法:
removeDuplicates(arraytag2, arraytag2.name);
它不起作用。
答案 0 :(得分:1)
为什么不在数组中使用惊人的filter
函数?
然后,您可以在功能项目及其自己的属性中进行自己的验证。
function uniq(a) {
var seen = {};
return a.filter(function(item) {
return seen.hasOwnProperty(item) ? false : (seen[item] = true);
});
}
var arr = ["hello", "bye", "hola", "adios", "see you", "hello", "hola"];
var uniqArr = uniq(arr);
console.log(arr);
console.log(uniqArr);
&#13;