JavaScript数组中包含数组如何去重?

例如说[1,2,3,[1,1,2],[3,2],2]这样的应该如何去掉重复的数字,谢谢

阅读 4k
评论 2014-03-24 提问
    5 个回答
    • 1k
    var arr = [1,2,3,[1,1,2],[3,2],2];
    
    var result = arr.reduce(function(v, i) {
        if (Array.isArray(i)) {
            i.forEach(function(item) {
                if (v.indexOf(item) < 0) {
                    v.push(item);
                }
            });
        } else {   
            if (v.indexOf(i) < 0) {
                v.push(i);
            }
        }
        return v;
    }, []);
    
    console.log(result);
    
      101 新手上路
      合作问答

      欢迎来到 SegmentFault 101 新手上路问答。如果你是开发新手,有各种各样的疑惑,但又害怕提出来被嘲笑...