数组去重
数组中如果存储了重复信息,想要只看非重复的简洁信息,可以建立一个新的空数组,然后进行判断,如果新数组中没有用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