如何在 Javascript 中将变量值与值数组匹配

How to match a variable value against an array of values in Javascript?

本文关键字:数组 变量值 Javascript      更新时间:2023-09-26

>我有一个带有名称的值数组:

names = ['Jim', 'Jack', 'Fred']

我还从函数中收到了一个值,该值是字符串形式的名称,例如:

returnedValue = 'Jim'

如何针对 names 数组的值运行返回的值字符串并测试匹配项?

我的感觉是,你会想使用数组原型的 .filter 方法,但我无法想象如何做到这一点。

所有数组都有一个 indexOf 方法(旧版本的 Internet Explorer 除外),它将返回数组中元素的索引,如果它不在数组中,则返回 -1:

if (yourArray.indexOf("someString") > -1) {
    //In the array!
} else {
    //Not in the array
}

如果需要支持旧的 IE 浏览器,可以使用 MDN 文章中的代码使用填充此方法。

从 https://stackoverflow.com/a/12623295/2934820 复制

Array.indexOf 方法将返回一个带有返回值位置的值,在本例中为 0,如果该值不在数组中,您将返回 -1,因此通常如果您想知道返回的值是否在数组中,您会这样做 如果 (names.indexOf(returnValue)> -1) 返回 true;或者你可以做~~就像Joseph Silber先生在另一个线程中善意解释的那样

查看此词典链接https://www.w3schools.com/python/python_dictionaries.asp如果变量的值与字典中的字符串匹配,则可以将变量设置为等于该值。这是我自己的一些代码的截图'

global element1
element1 = 1
elementdict = {
"H": 1.008,
"He": 4.00,
"Li": 6.49,
"Be": 9.01,
"B": 10.81,
"C": 12.01,
"N": 14.01,
"O": 16.00,
"F": 19.00,
"Ne": 20.18,
"Na": 22.99,
"Mg": 24.30
}
element1 = input("Enter an element to recieve its mass")
element1 = elementdict[element1]
print(element1)