Я пожалуй начинающему Javascript вопрос:Является ли это JavascriptClosure usecase?
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");
Что я ожидаю: когда я снова вызвать функцию «Великобритании» он показывает мне «уже существует»; но этого не происходит. Я не хочу играть с «прототипом» или определять свой собственный. Мне просто нужно одно линейное решение.
В моем коде есть прецедент, где мне нужно вставить новое значение в массив, а в следующих циклах я должен проверить это значение; но я заканчиваю вставку существующего значения ...
Почему я заканчиваю вставку существующего значения и почему эта проверка (arr[i] != input)
терпит неудачу?
Пожалуйста, объясните, почему этот код не работает, как требуется
Вы должны, вероятно, вводить ввод, а не «Великобритания» каждый раз. Разве это не работает? – bfavaretto
'testexistence' не является хорошим именем для функции. Как насчет 'pushIfUnique' или' pushUnique'? –