如何在 javascript 中展平具有 3 个条目的二维数组?
How do I flatten a two-dimensional array with 3 entries in javascript?
我被要求编写一个函数 'flat' 来展平具有 3 个条目的二维数组。该函数应该 return 一个包含 9 个元素的数组。
例如,console.log (flat([[1,2,3], [5,7,8], [9,4,6]])) 应该 return
[1,2,3,5,7,8,9,4,6]
我的代码是这样的:
function flat(arr){
let newArr = [];
for (var i =0; i< 3; i++){
for (var j = 0; j< 3; j++){
return newArr.concat(arr[i][j]);
}
}
}
console.log (flat([[1,2,3], [5,7,8], [9,4,6]]));
使用此代码,我只有数组 newArr 中的第一个元素 [1],returned。谁能帮忙解决这个问题?或者还有其他方法可以展平二维数组吗?谢谢
function flat(arr){
let newArr = [];
for (var i =0; i< 3; i++){
for (var j = 0; j< 3; j++){
newArr.push(arr[i][j]);
}
}
return newArr;
}
console.log (flat([[1,2,3], [5,7,8], [9,4,6]]));
您需要将 return
语句移出循环,否则它将在第一次到达该行时退出函数。
您可以使用内置数组方法.flat()
来完成此操作。
在你的例子中
function flat(array) {
return array.flat()
}
片段
function flat(arr) {
return arr.flat()
}
console.log(flat([
[1, 2, 3],
[5, 7, 8],
[9, 4, 6]
]));
我被要求编写一个函数 'flat' 来展平具有 3 个条目的二维数组。该函数应该 return 一个包含 9 个元素的数组。
例如,console.log (flat([[1,2,3], [5,7,8], [9,4,6]])) 应该 return [1,2,3,5,7,8,9,4,6]
我的代码是这样的:
function flat(arr){
let newArr = [];
for (var i =0; i< 3; i++){
for (var j = 0; j< 3; j++){
return newArr.concat(arr[i][j]);
}
}
}
console.log (flat([[1,2,3], [5,7,8], [9,4,6]]));
使用此代码,我只有数组 newArr 中的第一个元素 [1],returned。谁能帮忙解决这个问题?或者还有其他方法可以展平二维数组吗?谢谢
function flat(arr){
let newArr = [];
for (var i =0; i< 3; i++){
for (var j = 0; j< 3; j++){
newArr.push(arr[i][j]);
}
}
return newArr;
}
console.log (flat([[1,2,3], [5,7,8], [9,4,6]]));
您需要将 return
语句移出循环,否则它将在第一次到达该行时退出函数。
您可以使用内置数组方法.flat()
来完成此操作。
在你的例子中
function flat(array) {
return array.flat()
}
片段
function flat(arr) {
return arr.flat()
}
console.log(flat([
[1, 2, 3],
[5, 7, 8],
[9, 4, 6]
]));