数组/字符串去重

在这个时间如宝的时代,人们肯定不想看到看过的信息,也就是重复信息。当数组或者字符串中出现重复信息的时候,我们有办法把那些重复信息全部删掉。接下来分别说一下数组和字符串去重时的思路及实现方法。(逆战班!)

数组去重

数组中如果存储了重复信息,想要只看非重复的简洁信息,可以建立一个新的空数组,然后进行判断,如果新数组中没有用indexOf()找到这个数据,就把非重复信息存储到新数组中。

var arr = [1,1,1,2,2,2,3,3,3];
// 建立一个空数组,然后把非重复信息提取到此中
var newArr = [];
// 用forEach循环来遍历数组
arr.forEach(function(val){
    // 判定新数组中没有这个数据,就存到新数组中
    if(newArr.indexOf(val) === -1){
        newArr.push(val);
    }
});
console.log(newArr);//输出[1,2,3]

字符串去重

字符串去重的原理与数组去重的原理相同,但是方法上有点区别,forEach()方法是不支持操作字符串的,所以这里用for…in循环来遍历字符串。

var str = '111222333';
//建立新的空字符串
var newStr = '';
//for...in循环遍历字符串,生成所有下标
for(var key in str){
    //判断当时下标位置所存的数值是否在新字符串中,如果没在,就存到新数组中
    if(newStr.indexOf(str[key]) === -1){
        //将每个非重复数值存在新数组中
        newStr += str[key];
    }
}
console.log(newStr);//输出123

版权声明:本文为qq_42441951原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。