javaScript中去除重

字符串中字母相同的个数找出来

// 统计字母出现的个数
var str = "dewjiedufccxed";
var object={}
for(let index = 0;index<str.length;index++){
    // 把str中的每一个拿出来
    var a = str[index]
    // 看新对象下有没有那个值
    if(object[a]){
        // 有一次加一次
        object[a]++;
    }else{
        // 没有出现等于1
        object[a]=1
    }
}
// { d: 3, e: 3, w: 1, j: 1, i: 1, u: 1, f: 1, c: 2, x: 1 }
console.log(object);

数组去重

方法(set,get)

// 第一种方法 第一种方法(set,get)
// set里不可以出现重复的元素 并且是无序的
let array = [10, 10, 50, 60, 5, 7, 20, 10, 60, 7, 0, 7];
let setArr = new Set(array)  //在这个时候去除重复 但没有春旭

// console.log(setArr);// Set { 10, 50, 60, 5, 7, 20, 0 }
// Array.from 方法可以将 Set结构转为数组

let getArr = Array.from(setArr)
console.log(getArr);
// [10, 50, 60, 5,7, 20,0]

扩展函数转换Set类型为Array

let oldArr = [1, 2, 3, 4, 5, 5 , 6, 7, 8, 2, 3];

let newArr = [...new Set(oldArr)];

(indexOf)
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。–有值没有值则返回 -1;

let array = [10, 10, 50, 60, 5, 7, 20, 10, 60, 7, 0, 7];
var temp = [];
for (let i = 0; i < array.length; i++) {
    // console.log(temp.indexOf(array[i]));
    if (temp.indexOf(array[i]) === -1){
        temp.push(array[i])
    }
}
console.log(temp);

和上面是一种方法两种写法

 let oldArr = [1, 2, 3, 4, 5, 5, 6, 7, 8, 2, 3];
//  函数调用在这里是形参
 function unique(arr) {
     let hash = [];
     for (let i = 0; i < arr.length; i++) {
         if (hash.indexOf(arr[i]) === -1) {
             hash.push(arr[i]);
         }
     }
     // return hash;
     console.log(hash);
    //  [1, 2, 3, 4, 5, 6, 7, 8]
 }
unique(oldArr);
// 在这里调用

猜你喜欢

转载自blog.csdn.net/SANJIN0527_/article/details/107413167