js数组去重

一道面试题

判断下面标签的id是否重复;有重复时返回不重复的值
html:
\<\p id="pp1"></p>
\<\div id="box1"></div>
\<\div id="box2"></div>
\<\div id="box3"></div>
\<\div id="box1"></div>
\<\div id="box2"></div>

js:
function repeat(){
    //获取tag的id的数组
    var arr = [];
    //将id名存入对象 并赋值为1
    var json = {};
    //最后不重复的数组
    var res = []
    var tags = document.getElementsByTagName('*');
    for(var i = 0 ; i < tags.length; i++){
        if(tags[i].getAttribute('id') != null){
            arr.push(tags[i].getAttribute('id'))
        }
    }
    for(var i = 0 ; i < arr.length; i++){
        if(!json[arr[i]]){
            res.push(arr[i])
            json[arr[i]] = 1;
        }
    }
    return res;
}
posted @ 2017-07-06 15:12  rainbow8590  阅读(109)  评论(0编辑  收藏  举报