数组

白鹤亮翅

查看一个值是不是在数组中,Python 提供了一个非常方便的办法:

>>> 2 in [1, 2, 3]
True
>>> 2 in [10, 20, 30]
False

当场打脸

JavaScript 也提供了in:

> 2 in [1, 2, 3]
true
> 2 in [10, 20, 30]
true

为什么2 in [10, 20, 30]返回的是true?

见招拆招

JavaScript 的 in 查看的是 property,换句话说它看的是 key,而不是 value。

> 'foo' in {foo: 'bar'}
true
> 'bar' in {foo: 'bar'}
false
> "a" in ["a", "b", "c"]
false

JavaScript 应该使用.includes():

> [10, 20, 30].includes(2)
false
Loading...