一、JavaScript多維數組方法
let arr = [[1, 2], [3, 4], [5, 6]];
//獲取二維數組中所有元素的總和
let sum = arr.reduce((preVal, curVal) => {
return preVal.concat(curVal);
}).reduce((preVal, curVal) => preVal + curVal);
console.log(sum); //21
在JavaScript中,多維數組可以被看做是由一維數組所構成的數組。因此,我們可以採用二維數組的方法來處理多維數組。例如上面的代碼中,我們通過使用reduce()方法獲取了二維數組中所有元素的總和。
二、JavaScript多維數組查找某個屬性
let arr = [[{name: 'Tom', age: 18}, {name: 'Jack', age: 20}], [{name: 'Alice', age: 19}, {name: 'Peter', age: 22}]];
//查找年齡為20歲的人的名字
let name = '';
for(let i = 0; i < arr.length; i++){
for(let j = 0; j < arr[i].length; j++){
if(arr[i][j].age === 20){
name = arr[i][j].name;
break;
}
}
}
console.log(name); //Jack
這裡我們定義了一個包含對象的二維數組,然後使用for循環遍曆數組中所有元素,查找年齡為20歲的人的姓名。當查找到符合條件的元素時,我們通過break語句提前終止循環。
三、JavaScript多維數組展開
let arr = [[1, 2], [3, 4], [5, 6]];
//將二維數組展開為一維數組
let flatArr = arr.flat();
console.log(flatArr); //[1, 2, 3, 4, 5, 6]
通過使用ES6中的flat()方法,我們可以將二維數組快速地展開成一維數組。這裡的flat()方法帶有一個可選的參數depth,它可以指定需要展開的數組層數。例如,如果我們需要展開一個三維數組,則可以使用flat(2)。
四、JavaScript二維數組轉化為一維數組
let arr = [[1, 2], [3, 4], [5, 6]];
//將二維數組轉換為一維數組
let flatArr = [];
for(let i = 0; i < arr.length; i++){
for(let j = 0; j < arr[i].length; j++){
flatArr.push(arr[i][j]);
}
}
console.log(flatArr); //[1, 2, 3, 4, 5, 6]
在JavaScript中,我們也可以通過for循環來手動將二維數組轉換為一維數組。
五、JavaScript多維數組刪除元素
let arr = [[1, 2], [3, 4], [5, 6]];
//刪除二維數組中的元素4
for(let i = 0; i < arr.length; i++){
let index = arr[i].indexOf(4);
if(index > -1){
arr[i].splice(index, 1);
}
}
console.log(arr); //[[1, 2], [3], [5, 6]]
我們可以使用JS的splice()方法來刪除多維數組中的元素。這裡的思路是先使用indexOf()方法獲取要刪除的元素的索引,然後通過splice()將其從數組中刪除。
六、JavaScript多維數組是什麼
多維數組是由一維數組所構成的數組,每個一維數組都可以看作是數組的一行。在JavaScript中,我們可以使用一個簡單的數組來代替多維數組,這是因為JavaScript的數組不需要通過預定義來指定其大小,它們可以隨著數據的添加而動態擴展。例如:
let arr = [[1, 2], [3, 4], [5, 6]];
七、JavaScript多維數組轉化為一維數組
let arr = [[1, 2], [3, 4], [5, 6]];
//將二維數組轉換為一維數組
let flatArr = [];
for(let i = 0; i < arr.length; i++){
for(let j = 0; j < arr[i].length; j++){
flatArr.push(arr[i][j]);
}
}
console.log(flatArr); //[1, 2, 3, 4, 5, 6]
我們可以使用for循環將多維數組轉化為一維數組,也可以使用ES6中的flat()方法。在某些情況下,這種轉換可以為我們提供更方便的數據計算方式。
八、JavaScript三維數組變成二維數組
let arr = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]];
//將三維數組變為二維數組
let flatArr = arr.flat(1);
console.log(flatArr); //[[1, 2], [3, 4], [5, 6], [7, 8]]
在面對三維數組時,我們也可以使用ES6中的flat()方法來將其轉換為二維數組。這裡的參數depth需要指定為1,以保證只展開第一層的數組。在需要將多維數組轉換為二維數組時,這種方式可以為我們提供很大的便利。
九、JavaScript多維數組排序
let arr = [[3, 2, 1], [6, 5, 4], [9, 8, 7]];
//按照每個一維數組首元素從小到大排序
arr.sort((a, b) => a[0] - b[0]);
console.log(arr); //[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
JavaScript中的多維數組也可以進行排序。在這裡,我們通過使用sort()方法以一維數組的首元素為準進行排序。
十、JavaScript多維數組變成一維數組選取
let arr = [[1, 2], [3, 4], [5, 6]];
//選取二維數組中的部分元素
let selectArr = arr.reduce((preVal, curVal) => preVal.concat(curVal.slice(0, 1)), []);
console.log(selectArr); //[1, 3, 5]
我們可以通過使用reduce()方法將多維數組轉化為一維數組,並選擇其中的部分元素。例如,上述代碼中,我們只選取了每個二維數組中的第一個元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159994.html