我想要一个列向量作为我的输出,而不是得到一个一维数组。请检查 fiddle 中的代码。我做错了什么?
我当前和预期的输出是:
当前输出: 数组 [ 0, 1 ]
数组 [ 5, 10 ]
预期输出:数组[0]
数组[1]
数组[5]
数组 [ 10 ]
请检查浏览器控制台。
如何获得预期输出?
Js fiddle :https://jsfiddle.net/4o1dj1uw/2/
代码:
this.b = [[[0,1]],[[5,10]]];
function convertarray(arrToConvert) {
//it will convert a matrix in array
var newArr = [];
for (var i = 0; i < arrToConvert.length; i++) {
newArr = newArr.concat(arrToConvert[i]);
}
return newArr;
}
console.log(...convertarray(this.b))
最佳答案
差不多了,你需要进入最深的数组。
另一种方法是使用递归。
this.b = [[[0,1]],[[5,10]]];
function convertarray(arrToConvert) {
//it will convert a matrix in array
var newArr = [];
for (var i = 0; i < arrToConvert.length; i++) {
if (Array.isArray(arrToConvert[i])) {
newArr = newArr.concat(convertarray(arrToConvert[i]));
} else {
newArr.push([arrToConvert[i]]);
}
}
return newArr;
}
console.log(JSON.stringify(convertarray(this.b)))
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - JS中如何将一维数组转换为列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49320668/