js數組對象去重

// 兼容ie8 不會改變原數組
function deWeight(arr) {
  for (var i = 0; i < arr.length - 1; i++) {
      for (var j = i + 1; j < arr.length; j++) {
          if (arr[i].name== arr[j].name) { // name爲需要去重字段
              arr.splice(j, 1);
              //因爲數組長度減小1,所以直接 j++ 會漏掉一個元素,所以要 j--
              j--;
          }
      }
  }
  return arr
}
// 兼容ie8 會改變原數組
function deWeight() {
    for (var i = 0; i < arr.length - 1; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i].name == arr[j].name) {
                arr.splice(j, 1);
                //因爲數組長度減小1,所以直接 j++ 會漏掉一個元素,所以要 j--
                j--;
            }
        }
    }
    return arr;
}
// 不兼容ie8 es6 reduce
arr = arr.reduce(function(item, next) {
       obj[next.key] ? '' : obj[next.key] = true && item.push(next);
       return item;
}, []);
// es6 set去重
function unique10 (arr) {
  return Array.from(new Set(arr))
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章