在这个时间如宝的时代,人们肯定不想看到看过的信息,也就是重复信息。当数组或者字符串中出现重复信息的时候,我们有办法把那些重复信息全部删掉。接下来分别说一下数组和字符串去重时的思路及实现方法。(逆战班!)
数组去重
数组中如果存储了重复信息,想要只看非重复的简洁信息,可以建立一个新的空数组,然后进行判断,如果新数组中没有用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版权协议,转载请附上原文出处链接和本声明。