#javascript #arrays
#javascript #массивы
Вопрос:
Есть ли способ проверить, существует ли пользовательский ввод из текстового поля (например) в массиве, который я создал и импортировал из других файлов JS?
И могу ли я связать весь этот код с HTML-кнопкой?
В Python для этого я использую «in».:
if a in List:
print("That's In")
PS: Я знаю, что список в Python немного отличается от массивов в JavaScript.
Комментарии:
1. посмотрите
Array.contains
илиArray.indexOf
2. @Sysix Он не продвинется далеко, если посмотрит на
Array.contains
😉Array.includes
существует, хотя3. Array.includes — это тот, который обычно используется в наши дни
4. таким образом, для примера ur py эквивалент js будет
if(list.includes(a)){console.log("That's in")}
Ответ №1:
Из документации JavaScript моей платформы:
//Use:
if (in_array('a', ['a','b',4,'z'])) {console.log('item in array.');}
//Prerequisite functions:
function in_array(s,a)
{
var r = false;
if (is_array(a))
{
for (var i = 0; i<a.length; i )
{
if (a[i]==s) {r = true;}
}
}
else {console.log('Error: object to in_array (' a ') is not an array.');
}
return r;
}
function is_array(a)
{
return ((a.constructor.toString().indexOf('Array') > 0) ? true : false);
}
Комментарии:
1. Действительно? По сравнению с
['a','b',4,'z'].includes('a')
???2.
const list = ['a','b',4,'z']; if (Array.isArray(list) amp;amp; list.includes('a')) console.log('list is an array and included "a"'
3. @mplungjan Нет поддержки IE или другого старого браузера? Действительно? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /…
4. Да, действительно! isArray: IE9 — polyfill для includes по-прежнему короче вашего кода
if(!Array.prototype.includes){ Array.prototype.includes = function(search){ return !!~this.indexOf(search); }}
Ответ №2:
Спасибо за все, я думаю, что я решил свою проблему с array.indexOf
Есть мое решение ниже, как я могу закрыть сообщение?
<!DOCTYPE html>
<form id="form" onsubmit="return false;">
<input style="position:absolute" type="text" id="userInput" /> <br>
<input style="position:absolute;" type="submit" onclick="name();" /> <br>
<script type="text/javascript">
function name() {
var fruits = ["Apple", "Banana", "Mango", "Orange", "Papaya"];
var input = document.getElementById("userInput").value;
//Check if a value exists in the data1 array
if(fruits.indexOf(input) !== -1){
document.write(input, " Value exists!");
document.write(" Press F5 to reload")
} else{
document.write(input, " Value does not exists!");
document.write(" Press F5 to reload");
}
}
</script>
</form>
</html>