js中如何判断一个值是否在数组中
var a = [1,2,3] if (1 in a) { console.log(‘something’) } 这样写不对,可以不写循环么,es6的语法也行。 python过来的新手,见谅,感谢!
16 回复
https://cnodejs.org/topic/56a050ac8392272262331d62 论坛里看到了这个帖子,很赞
在ECMAScript 2016 (ES7)甚至可能将其应用于数组,像indexOf一样: !!~[1, 2, 3].indexOf(1); // true [1, 2, 3].includes(1); // true
是不是说明只能写循环了
哦 lz在这个需求里千万不能用in操作符 in 是说存不存在这个key而不是value!
var a = [66,99,77];
66 in a //false
0 in a //true
var vv = {aa:11,bb:22};
"aa" in vv; //true
"cc" in vv //false
做实验的时候很容易 试成这样
var a = [1,2,3]; //undefined
1 in a; //true
不要被迷惑嘞