这不起作用吗?我认为这是有效的,但它不起作用。
var items = ["image", "text"];
console.log(this.type)
if(this.type in items){
console.log("here")
}
console.log(this.type)
显示image
,但永远不会显示here
。
我做错了什么,或者我在想错误的语言?
答案 0 :(得分:8)
in
检查对象的属性名称。
在这里,您需要的是indexOf:
if (~items.indexOf(this.type)){
注意:这是
的简短版本if (items.indexOf(this.type)!==-1){
答案 1 :(得分:0)
你可以做到
var items = ["image", "text"];
var item = "image";
if (items.indexOf(item) > -1) {
console.log("here");
}
答案 2 :(得分:0)
" in" JavaScript中的关键字仅适用于对象的键和属性。我会这样做的方式:
if (items.indexOf(this.type) !== -1)
这将返回您要查找的类型的索引,如果不存在,则返回-1。如果它不等于-1,那么它就在那里。