javascript - JS中如何将一维数组转换为列向量

标签 javascript arrays matrix multidimensional-array vector

我想要一个列向量作为我的输出,而不是得到一个一维数组。请检查 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/

相关文章:

javascript - 数组中的空洞与未定义和映射函数

javascript - 数组嵌套循环无法按预期工作

c++ - C++ 中的矩阵生成

Javascript 获取两个日期之间的时差

javascript - 为图表JS的数据值添加小数点

php - 使用 POST android 发送 php 数组

matlab - 在 MATLAB 中使用 repmat 复制 Kronecker 张量

matlab - 一行中除元素本身以外的所有元素的平均值 - MATLAB

javascript - 在表单操作中添加弹出等待消息

javascript - Bootstrap 3 下拉过渡