var answer1=arguments[0];
var value1=arguments[1];
var value2=arguments[2];
var finalAnswer=[];
console.log(answer1);
console.log(value1);
console.log(value2);
for (var i=0;i<=answer1.length-1;i++ ){
if (answer1[i]===value2 || answer1[i]===value1){
finalAnswer= answer1.splice(i,1);
finalAnswer.pop();
}
}
console.log(answer1);
console.log(finalAnswer);
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
您好,我试过这个“寻找并摧毁挑战”,即搜索破坏者参数中给出的参数对象并将其移除。 但是我的 if 语句不能正常工作。它不检查 or 选项。它根本不检查“answer1[i]===value2”选项的比较。
答案应该是这样的:[1,1] 但我得到的答案是:[1,3,1,3]。它没有删除 3。 有什么建议吗?
最佳答案
尝试使用 Array.filter
function destroyer(){
var answer1=arguments[0];
var value1=arguments[1];
var value2=arguments[2];
answer1 = answer1.filter(function(val){
return val!==value1 && val!==value2;
});
console.log('answr1',answer1);
}
destroyer([1, 2, 3, 1, 2, 3], 2,3);
关于javascript - 或 if 语句中的条件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40925832/