陣列去重並排序幾種方式

2021-10-07 14:47:52 字數 2145 閱讀 9598

1、 解析多維陣列

let array = [ [1, 2, 2,3], [2, 3, 4, 5], [6, 6,7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]

// 陣列flat()方法可以把多維陣列解析出來(引數為解析的層數)

let newarr = array.flat(4)

//結果為 [1,2,2,3,2,3,4,5,6,6,7,8,9,11,12,12,13,14,10]

let setarr = new set (input);

setarr.sort();

2、陣列去重

// 使用拓展運算子...的方式把解析陣列後的每一項放入set結構中進行去重

const a1 = [1, 2];

const a2 = [...a1];//[1,2]

let setarr = new set(...flatarr)

//結果為[1,2,3,4,5,6,7,8,9,11,12,13,14,10]

3、陣列排序

//set結構不屬於陣列的一種, 所以set結構沒有sort方法所以我們需要將set結構轉換為陣列

// 使用sort()方法進行排序

//sort 方法預設的排序方式為使用字元的unicode碼進行排序 因此我們需要對sort方法傳入乙個排序的方法

let sortarr = [...setarr].sort((a,b) => a - b)

//結果為[1,2,3,4,5,6,7,8,9,10,11,12,13,14]

//先建立乙個空陣列;

//通過遞迴的方法將多維陣列元素取出放入空陣列;

//在使用陣列去重;

//在使用陣列排序

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

var array=;

function findnumber(arr) else if(typeof item == 'object')

})};

//陣列去重

arr1 = arr1.filter((item,index)=>arr1.indexof(item)==index);

//陣列排序

arr1.sort((a,b)=>);

console.log(arr1);

//結果為[1,2,3,4,5,6,7,8,9,10,11,12,13,14]

//通過 es6 flat 方法將陣列拉平。

//通過 es6 set 建構函式對陣列去重;

//通過 sort 方法進行排序

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

arr =array.from(new set(arr.flat(infinity))).sort((a,b)=>);

console.log(arr);

//結果為[1,2,3,4,5,6,7,8,9,10,11,12,13,14]

// tostring() 方法將多維陣列轉換成字串。

//split() 方法將字串轉換為一維陣列;

//使用 sort 方法進行排序,需要注意的是這時候陣列是字串陣列,所以還需要用map轉換為數值陣列。

set 方法去重,再通過 array.from方法將 set 型別轉換為陣列型別。

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

arr = array.from(new set(arr.tostring().split(",").sort((a,b)=>).map(number)));

console.log(arr);

//結果為[1,2,3,4,5,6,7,8,9,10,11,12,13,14]

陣列去重並排序

巢狀陣列 const foo 10,30,34,11,23,5,20,4,77 2,25,13,5,10 77 深度遞迴遍歷陣列,將所有元素和遍歷到的子陣列中的元素合併為乙個新陣列返回,使用infinity,表示可展開任意深度的巢狀陣列 const a foo.flat infinity set所有...

陣列去重的幾種方式

function uniquearray arr 複製 優點 簡潔,速度快,時間複雜度為o n 缺點 需要乙個額外的set和array的儲存空間,空間複雜度為o n function uniquearray arr return arr 複製 優點 不需要使用額外的儲存空間,空間複雜度為o 1 缺點...

js陣列去重的幾種方式

雙重for迴圈去重 思路 i 1,2,2,2,3,true,undefined,true true undefined undefined 7,8,9 從第乙個元素開始 j 2,2,2,3,true,undefined,true true undefined undefined 7,8,9 2,2,...