這次對陣列的操作,我們使用es6的新語法來完成,所以在看下邊**之前,我們要了解我們下邊要用到的es6中的set集合,和for...of 方法:
es6提供了新的資料結構set,它類似於陣列,但是成員的值都是唯一的,沒有重複的值。
set函式可以接受乙個陣列(或類似陣列的物件)作為引數,用來初始化。
注意:
向set加入值的時候,不會發生型別轉變,所以 5 和 '5' 是兩個不同的值。set內部判斷兩個值是否相同,用的是類似於 "==="的演算法,但是區別是,在set內部認為nan 等於 nan ;
set例項的屬性和方法:
set結構的例項有以下屬性。
set例項的方法分為兩大類:操作方法(用於運算元據)和遍歷方法(用於遍歷成員)。下面先介紹四個操作方法。
set內部的元素可以用 for...of 遍歷。
array.from()方法可以將set資料型別轉化為陣列型別。
1、陣列的合併去重
let arr1 = [3,5,2,3,6];
let arr2 = [5,2,4,6,8,7,9,2];
let arr = arr1.concat(arr2); //合併陣列
let arrnew= new set(arr); //通過set集合去重
console.log("arrnew",array.from(arrnew)); //將set集合轉化為陣列
結果
2、陣列物件的合併去重
let json1=[
, ,,]
let json2=[
, , ,]
let json = json1.concat(json2); //兩個陣列物件合併
let newjson = ; //盛放去重後資料的新陣列
for( let item1 of json)
} if(flag) }
console.log("newjson",newjson);
結果 js多層物件陣列 合併 JS物件陣列合併去重?
陣列去重,一般會在面試的時候才會碰到,要求手寫陣列去重方法的 如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。在實際專案中碰到的陣列去重,一般都是後台去處理,很少讓前端處理陣列去重。雖然運用到的概率較低,但還是需要了解一下,以防面試的時候被問到。陣列去重的方法...
js多層物件陣列 合併 JS物件陣列合併去重?
陣列去重,一般會在面試的時候才會碰到,要求手寫陣列去重方法的 如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。在實際專案中碰到的陣列去重,一般都是後台去處理,很少讓前端處理陣列去重。雖然運用到的概率較低,但還是需要了解一下,以防面試的時候被問到。陣列去重的方法...
JS陣列去重方法 支援物件陣列
陣列去重方法 1 支援基本資料型別組成的陣列 比如 let arr 1,5,6,6,1,true,true 6 1,1,5 呼叫 rd arr 返回 1,5,6,true,true 6 2 支援物件型別組成的陣列,但是要宣告是根據哪幾個物件屬性去進行判重的 比如 let arr 呼叫rd arr,n...