gpt4 book ai didi

javascript - 如何根据参数从数组中删除数字

转载 作者:行者123 更新时间:2023-11-30 07:55:41 25 4
gpt4 key购买 nike

我有两个这样的数组:

var arr = ["1", "3" , "4"];
var arr2 = ["1", "2", "3", "4", "5", "6", "7", "8", "9"];

我想根据第一个数组中可用的数字从第二个数组中删除数字。

我试过了,但我得到了错误的值,例如 2、4、6、8:

theButton.onclick = function removePassedInNumbers(arr){
for(var i = 0; i < arr2.length; i++){
if(arr2.indexOf(arr[i])){
arr2.splice(i, 1);
}
}
document.getElementById('myNumber').innerHTML = arr2;
}

<input type="button" id="theButton" onclick="removePassedInNumbers(arr)" value="Click here"/>
<p id="myNumber">hey</p>

这是 fiddle :https://jsfiddle.net/4hLcanc6/

我哪里出错了?

最佳答案

你可以只使用 filter() 方法:

var arr = ["1", "3" , "4"];
var arr2 = ["1", "2", "3", "4", "5", "6", "7", "8", "9"];
var res = arr2.filter(item => arr.indexOf(item)===-1);
console.log(res); // [ '2', '5', '6', '7', '8', '9' ]

或者使用 ES5:

var res = arr2.filter(function(x) {return arr.indexOf(x)===-1});

关于javascript - 如何根据参数从数组中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40308474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com