有没有相当于Python的in条件运算符的Javascript ?
good = ['beer', 'pizza', 'sushi']
thing = 'pizza'
if thing in good:
print 'hurray'
Run Code Online (Sandbox Code Playgroud)
在Javascript中编写上述Python代码的好方法是什么?
你可以使用.includes:
const good = ['beer', 'pizza', 'sushi']
const thing = 'pizza';
if (good.includes(thing)) console.log('hurray');Run Code Online (Sandbox Code Playgroud)
请注意,这与Javascript的in运算符完全分开,后者检查某些东西是否是对象的属性:
const obj = { foo: 'bar'}
const thing = 'foo';
if (thing in obj) console.log('yup');Run Code Online (Sandbox Code Playgroud)
请注意,这includes是来自ES6 - 确保包含polyfill.如果你不能这样做,你可以使用旧的,较少的语义indexOf:
const good = ['beer', 'pizza', 'sushi']
const thing = 'pizza';
if (good.indexOf(thing) !== -1) console.log('hurray');Run Code Online (Sandbox Code Playgroud)