我一直在尝试并搜索如何遍历参数以检查数组中是否已经存在这些参数,我还没有完全使用它,但是当存在重复值时它根本不会返回。
想法是将多个值传递给参数,然后循环遍历这些值,并且仅在数组中不存在时才推送。
var arr = [7,3,1];
function pushNew(obj) {
var prams = obj;
for(var k = 0; k < obj.length; k++){
for (var i = 0; i < arr.length; i++) {
if (arr[i] == prams[k]) {
return;
}
}
array.push(prams[k]);
}
// console.info(arr);
}
pushNew([2,7,4]);
最佳答案
获取所有唯一值的一种简短且更现代的方法是使用 Array.from
与 Set
. Set
是一种类似于数组的结构,它只包含唯一值。 Array.from
将类似数组的结构转换为真正的数组。
在您的情况下,您可以只连接两个数组,将它们传递给 Set
以删除重复项,然后使用 Array.from
将其转换回常规数组.
var arr1 = [1, 2, 3, 4, 5];
var arr2 = [3, 4, 5, 6, 7];
var result = Array.from(new Set(arr1.concat(arr2)));
document.write(JSON.stringify(result));
关于javascript - 如果参数不存在则推送到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36929046/