in / contains javascript列表中的语句列表

时间:2013-05-24 21:55:15

标签: javascript arrays

有很多方法可以检查Javascript中的值是否在数组中。可以扩展Array原型,也可以使用in语句。

Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] === obj) {
            return true;
        }
    }
    return false;
}

> [1,2,3].contains(2)
true
> 3 in [1,2,3]
true 

为什么这不适用于列表中的列表?

> [[1],[2],[3]].contains([2])
false 
> [3] in [1,2,[3]]
false 

肯定应该有一个简单的功能,我想在这里做什么?

1 个答案:

答案 0 :(得分:0)

[2][2]是两个碰巧具有相同值的不同的对象。