我已经在 javascript 中阅读了此 Swap rows with columns (transposition) of a matrix但是,它对我不起作用(因为我仍然 stupi)。
有许多数组,每个数组都是这样的单独列:
id [1, 2, 3]
caption [one, two, three]
title [One, Two, Three]
我想将列转换为行:
arr= [1, one, One]
...
一些代码
var res = [];
for(i in this.fields) {
for(j in this.fields[i].value) {
res[j][i] = this.fields[i].value[j];
}
}
它给了我“TypeError:无法将未定义转换为对象”
在 php 中这种方法工作正常,但有人可以指出我如何在 js 中做到这一点。提前致谢。
更新简化
var arr = [];
arr[0] = [];
arr[6][0] = 5;
/*
Exception: can't convert undefined to object
@Scratchpad/1:4
*/
当我们扫描公共字符串时,我们会使用 0-0、0-1、0-2 之类的索引进行迭代,直到行尾再次开始 1-0 等等。但是在这里我需要 col 的 0-0、1-0、2-0 结尾和 1-0、1-1、1-1 ...
更新“这个”。只需添加几行:
console.log(this.fields[i].value[j]);
console.log('indexes: i='+i, 'j='+j);
如您所见,没有未定义的值
4
indexes: i=0 j=0
1
indexes: i=1 j=0
1
indexes: i=2 j=0
one
indexes: i=3 j=0
One
indexes: i=4 j=0