【问题标题】:in operator always returning false [duplicate]in 运算符总是返回 false [重复]
【发布时间】:2015-06-24 00:21:40
【问题描述】:

不明白为什么这总是返回 false:

var filter_clients = [25,351];
var data = 351;
console.log(filter_clients);
console.log(data);
if(data in filter_clients) console.log('in');
else console.log('out');

fiddle

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    使用数组时,in 运算符适用于索引而不适用于值。例子:

    0 in filter_clients //true
    1 in filter_clients //true
    2 in filter_clients //false
    

    这是实现您正在尝试做的事情的一种方式

    filter_clients.indexOf(data) != -1
    

    【讨论】:

    • 这就解释了。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    相关资源
    最近更新 更多