Javascript 如何在JS中将一维数组转换为列向量
我想要一个列向量作为输出,但得到的是一个一维数组。请检查小提琴上的代码。我做错了什么 我的当前和预期输出为: 电流输出:阵列Javascript 如何在JS中将一维数组转换为列向量,javascript,arrays,matrix,multidimensional-array,vector,Javascript,Arrays,Matrix,Multidimensional Array,Vector,我想要一个列向量作为输出,但得到的是一个一维数组。请检查小提琴上的代码。我做错了什么 我的当前和预期输出为: 电流输出:阵列[0,1]阵列[5,10] 预期输出:阵列[0]阵列[1]阵列[5]阵列[10] 请检查浏览器控制台。 如何获得预期的输出 Js小提琴: 代码: this.b=[[0,1]],[[5,10]]; 函数转换器阵列(arrToConvert){ //它将转换数组中的矩阵 var newArr=[]; 对于(变量i=0;i
[0,1]
阵列[5,10]
预期输出:阵列[0]
阵列[1]
阵列[5]
阵列[10]
请检查浏览器控制台。
如何获得预期的输出
Js小提琴:
代码:
this.b=[[0,1]],[[5,10]];
函数转换器阵列(arrToConvert){
//它将转换数组中的矩阵
var newArr=[];
对于(变量i=0;i
快到了,你需要进入最深的数组
另一种方法是使用递归
this.b=[[0,1]],[[5,10]];
函数转换器阵列(arrToConvert){
//它将转换数组中的矩阵
var newArr=[];
对于(变量i=0;i
.as控制台包装{max height:100%!重要;top:0;}
将其推两次通过convertary()
:
如果要获取其中每项的数组,可以执行以下操作:
console.log(...convertarray(convertarray(this.b)).map(x => [x]));
结果
[0] [1] [5] [10]
只需通过
convertary()
:console.log(convertary(convertary(this.b)))
我不确定这是否是您想要的,但结果是一个数组这是一件一次性的事情还是您看到自己在整个代码中多次这样做?谢谢!此.b中的数组实际上是由用户输入的。所以我需要所有元素的单个数组作为输入。这只需要发生一次。Hi@Ele递归是一个好主意,但这不会为其中的每个元素提供一个数组。b对吗?非常感谢@Highmastdon。这个方法对我很有效。实际上,在我的代码中,[0,1]和[5,10]是由用户给出的,所以假设他只输入一个整数而不是数组,这段代码还能工作吗?如果他只传递整数,那么数组中就没有第二维了。所以你不需要做两次。你必须检查阵列是否是三维的。可以这样做:Array.isArray(arrToConvert[0][0])
。如果这是真的,你有三维数组,否则是二维数组。
console.log(...convertarray(convertarray(this.b)).map(x => [x]));
[0] [1] [5] [10]