1

我试图对矩阵进行切片,以便最终得到数组。所以给定以下矩阵 [[1,2],[3,4],[102,5]] 是否有办法对其进行切片,以便我最终得到 [1,3,102] 和 [2,4,5] ?
也许它不是一片,而是别的什么?谢谢

4

3 回答 3

5

尝试使用Array.reduce(...)方法,因为函数式编程很酷!

function splitMatrix(matrix) {
  return matrix.reduce(function(acc, x) {
    acc[0].push(x[0]);
    acc[1].push(x[1]);
    return acc;
  }, [[],[]]);
}

splitMatrix([[1,2],[3,4],[102,5]]); // => [[1,3,102], [2,4,5]]
于 2012-10-18T15:00:28.887 回答
1
var matrix = [[1,2],[3,4],[102,5]];
var arr1 = [];
var arr2 = [];

for(var i=0; i < matrix.length; i++){
    arr1.push(matrix[i][0];
    arr2.push(matrix[i][1];
}
于 2012-10-18T15:00:29.020 回答
1
a = [[1,2],[3,4],[102,5]]
a1 = []
a2 = []
for(i = 0, i< a.length, i++){
    a1[i] = a[i][0]
    a2[i] = a[i][1]
}
于 2012-10-18T15:00:14.727 回答