数组去重-双循环和数组塌陷问题

209 阅读1分钟

解决方案一

/**
* 1.依次拿出数组中的每一项(排除最后一项:最后一项后面没有需要比较的内容)
* 2.和当前拿出项后面的每一项依次比较
* 3.如果发现有重复的,我们把找到的这个重复项在原有数组中删除掉(splice)
*/
var ary = [1,2,3,2,3,4,3,4,5];
for (var i = 0; i < ary.length-1; i++) {
    var item = ary[i]; 
    // =>item: 依次拿出每一项
    // =>i: 当前项的索引
    // =>和当前项后面的每一项比较:起始索引应该是i+1 k<ary.length找到末尾依次比较
    for (var k=i+1;k<ary.length;k++) {
        //ary[k]: 后面需要拿出来和当前项比较的这个值
        if (item === ary[k]) {
            ary.splice(k,1);
        }
    }
}
console.log(ary);