我也许有初学者Javascript问题:

var countries = [
    "Bangladesh", "Germany", "Pakistan"];


function testexistence(arr, input) {

    for (var i = 0; i < arr.length; i++) {
        if (arr[i] != input) {
            alert("not exist");
            arr.push(input);
            break;
        } else {
            alert("already exist ");
        }
    }

}

testexistence(countries, "UK");
testexistence(countries, "Pakistan");
testexistence(countries, "UK");


我期望的是:当我再次为“ UK”调用该函数时,它表明我“已经存在”;但这没有发生。我不想玩“原型”或定义自己的原型。我只需要一种解决方案。

我的代码中有一个用例,其中我必须在数组中插入一个新值,在下一个循环中,我必须检查该值;但我最终要插入一个现有值...

为什么我最终要插入现有值,为什么此检查(arr[i] != input)失败?

还请解释一下,为什么上面的代码无法按预期工作

最佳答案

您需要搜索整个数组,然后才能确定它不存在。

我可能会用testexistence而不是addUnique命名。

07-24 16:31