Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中仅从数组中获取一个值_Javascript_Jquery_Html - Fatal编程技术网

如何在javascript中仅从数组中获取一个值

如何在javascript中仅从数组中获取一个值,javascript,jquery,html,Javascript,Jquery,Html,我正在学习javascript,我已经尝试了一些东西,但我不知道如何使其工作,以下是我迄今为止的代码: HTML 我想做的是,当你点击按钮时,检查汽车是否可用(它不是真的)。例如,如果您键入“mazda”并单击按钮,h2将显示,但如果您键入“ferrari”并单击按钮,h1将显示 我是否正在用上面的代码接近解决方案 注意:如果您将汽车[x]中的“x”改为一个数字,则它可以工作,但只适用于一辆汽车。 您可以使用Array.indexOf方法在数组中搜索: if (cars.indexOf($('

我正在学习javascript,我已经尝试了一些东西,但我不知道如何使其工作,以下是我迄今为止的代码:

HTML

我想做的是,当你点击按钮时,检查汽车是否可用(它不是真的)。例如,如果您键入“mazda”并单击按钮,h2将显示,但如果您键入“ferrari”并单击按钮,h1将显示

我是否正在用上面的代码接近解决方案

注意:如果您将汽车[x]中的“x”改为一个数字,则它可以工作,但只适用于一辆汽车。


您可以使用
Array.indexOf
方法在数组中搜索:

if (cars.indexOf($('#search').val()) !== -1) {
    //your code here
}
如果未找到精确匹配项(包括小写/大写差异),则
Array.indexOf
方法将返回
-1
,否则将返回数组中匹配项的索引。这意味着,如果输入的值在数组中,它将返回除
-1
以外的内容,因此
if
-语句将返回
true

要使其不区分大小写,请使用以下命令:

if (cars.indexOf($('#search').val().toLowerCase()) !== -1) {
    //available
} else {
    //unavailable
}

它首先将输入转换为小写,然后进行检查。要使其正常工作,数组中存储的所有值也必须使用所有小写字母,如您的示例所示。

因为这个问题也被标记为jQuery:

从:

这将是:

$.inArray(('#search').val(), cars) !== -1
这还具有在
IE8
及以下版本中工作的优势,而
Array.prototype.indexOf
没有这样的优势

if (cars.indexOf($('#search').val()) !== -1) {
    //your code here
}
if (cars.indexOf($('#search').val().toLowerCase()) !== -1) {
    //available
} else {
    //unavailable
}
jQuery.inArray( value, array [, fromIndex ] )
$.inArray(('#search').val(), cars) !== -1