js最全的陣列的降維5種辦法

2021-09-22 08:13:21 字數 1306 閱讀 5829

(1)陣列字串化

let arr = [[222, 333, 444], [55, 66, 77],  ]

arr += '';

arr = arr.split(',');

console.log(arr); // ["222", "333", "444", "55", "66", "77", "[object object]"]

所有的元素會轉換為字串,且元素為物件型別會被轉換為 "[object object]" ,對於同一種型別數字或字串還是可以的。

(2)遞迴

function reducedimension(arr));

}toarr(arr);

return ret;

}

3、array​.prototype​.flat()

var arr1 = [1, 2, [3, 4]];

arr1.flat();

// [1, 2, 3, 4]

var arr2 = [1, 2, [3, 4, [5, 6]]];

arr2.flat();

// [1, 2, 3, 4, [5, 6]]

var arr3 = [1, 2, [3, 4, [5, 6]]];

arr3.flat(2);

// [1, 2, 3, 4, 5, 6]

//使用 infinity 作為深度,展開任意深度的巢狀陣列

arr3.flat(infinity);

// [1, 2, 3, 4, 5, 6]

4、

// 不使用遞迴,使用 stack 無限反巢狀多層巢狀陣列

var arr1 = [1,2,3,[1,2,3,4, [2,3,4]]];

function flatten(input) else

} // 使用 reverse 恢復原陣列的順序

return res.reverse();

}flatten(arr1);// [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]

5、

// 使用 reduce、concat 和遞迴無限反巢狀多層巢狀的陣列

var arr1 = [1,2,3,[1,2,3,4, [2,3,4]]];

function flattendeep(arr1)

flattendeep(arr1);

// [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]

C 陣列的降維處理

注意 陣列名代表第乙個元素的位置,是乙個常量,對陣列名取位址的結果是陣列的型別。char 2 是一種陣列型別,表示指向有兩個元素的陣列的陣列指標。往char型別存入字串的話,在字串末尾加上 0作為終止符方便下次取用。如果結構體有元素是char char 型別,則在儲存值的同時,也要儲存長度。陣列作為...

JS判斷陣列的5種方式

let arr 1.instanceof arr instanceof array 2.proto arr.proto array.prototype 3.constructor arr.constructor array 4.object.prototype.tostring object.pro...

C語言中陣列的公升維與降維

據了解,c語言的公升維與降維好像是乙個經常被提及的問題,彷彿通過測試面試者對這兩種操作的理解就可以判斷面試者對指標的基本認識。自認為對指標的理解應該已經到位了。那麼我們下面就來看看到底什麼是陣列的降維與公升維。公升維與降維只存在於高於一維的陣列中,我們就以最簡單最常用的二維陣列作為演示物件來說明什麼...