javascript - 或 if 语句中的条件无法正常工作

标签 javascript

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/

相关文章:

javascript - 为包含 id 数组的对象编写 Redux Actions 和Reducers 到其他对象

javascript - 我正在尝试使用复选框作为条件

javascript - 安卓 : How to use javascript interface to show toast?

javascript - 非 Angular 网站 - 检查结果已排序

javascript - 使用 javascript 从 jobvite 获取工作

javascript - 用 jQuery 覆盖现有的样式声明

javascript - 在 HTML 中预加载图像

javascript - JQM中页面底部生成"LOADING"消息

javascript - 如何将 2 个项目推送到数组

javascript - 访问另一个函数内返回的原型(prototype)函数