JavaScript数组有类似Python“if a in list”的用法吗?

23 投票
4 回答
13584 浏览
提问于 2025-04-17 02:26

如果我在Python中有一个列表,我可以用 in 这个操作符来检查某个值是否在这个列表里:

>>> my_list = ['a', 'b', 'c']

>>> 'a' in my_list
True

>>> 'd' in my_list
False

如果我在JavaScript中有一个数组,比如:

var my_array = ['a', 'b', 'c'];

我能像在Python中用 in 操作符那样检查一个值是否在这个数组里吗?还是说我需要一个个地遍历这个数组?

4 个回答

3
var IN = function(ls, val){
    return ls.indexOf(val) != -1;
}

var my_array = ['a', 'b', 'c'];
IN(my_array, 'a');

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

31

从ES7开始,建议使用 includes() 这个方法,而不是比较笨重的 indexOf()

var my_array = ['a', 'b', 'c'];

my_array.includes('a');  // true

my_array.includes('dd'); // false
15
var my_array = ['a', 'b', 'c'];
alert(my_array.indexOf('b'));
alert(my_array.indexOf('dd'));

如果没有找到这个元素,你会收到 -1 的结果。

撰写回答