Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按列二维数组分解_Javascript - Fatal编程技术网

Javascript 按列二维数组分解

Javascript 按列二维数组分解,javascript,Javascript,是否有一种简洁的方法来分解二维数组,为每列分配一个变量 例如: const matrix = [ [1,2,3,4,5], [1,2,3,4,5], [1,2,3,4,5] ] const [ones, twos, threes, fours, fives] = foo(matrix); console.log(ones); // [1, 1, 1] console.log(twos); // [2, 2, 2] etc. 干杯 p从 const矩阵=[ [1,2,3,4,5]

是否有一种简洁的方法来分解二维数组,为每列分配一个变量

例如:

const matrix = [
  [1,2,3,4,5],
  [1,2,3,4,5],
  [1,2,3,4,5]
]

const [ones, twos, threes, fours, fives] = foo(matrix);

console.log(ones);
// [1, 1, 1]
console.log(twos);
// [2, 2, 2]
etc.
干杯


p

const矩阵=[
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]
]
函数转置(a){
返回Object.keys(a[0]).map(函数(c){
返回a.map(函数(r){返回r[c];});
});
}
常数[一,二,三,四,五]=转置(矩阵);

console.log('one',one)您需要首先转置矩阵

const
transpose=array=>array.reduce((r,a)=>a.map((v,i)=>[…(r[i]| |[]),v]),[]),
矩阵=[[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],
[一,二,三,四,五]=转置(矩阵);
控制台日志(个);
控制台日志(两个);
控制台日志(三个);
控制台日志(四个);
控制台日志(五个)
.as控制台包装{最大高度:100%!重要;顶部:0;}
const矩阵=[
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]
]
函数foo(矩阵){
让列=[]
for(矩阵中的常数i){
对于(矩阵[i]中的常数j){
第[j]列=第[j]列
列[j].push(矩阵[i][j])
} 
}
返回列
}
常数[一,二,三,四,五]=foo(矩阵);
控制台日志(个);
// [1, 1, 1]
控制台日志(两个);
//[2,2,2]