首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript多数组推送

javascript多数组推送
EN

Stack Overflow用户
提问于 2015-12-12 08:29:49
回答 3查看 114关注 0票数 0

是否可以在javascript中创建多维数组?

它应该是这样的:

代码语言:javascript
复制
$cars = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);

但是我需要使用$cars.push();首先添加第一行( cars)的所有数据。然后是数据"22“、"15”、"5“和"17”。然后是"18“、"13”、"2“和"15”。

然后,它应该按照与原始数组(表视图)相同的顺序打印。

编辑如下:

代码语言:javascript
复制
var cars = [];

cars.push("Volvo", "BMW", "Saab", "Land Rover");
cars.push(22, 15, 5, 17);
cars.push(18, 13, 2, 15);

然后像这样打印到html

沃尔沃,22,18

宝马,15 13

萨博,5,2

路虎,17,15

EN

回答 3

Stack Overflow用户

发布于 2015-12-12 08:37:15

您可以参考文档

正如桑普森在上述评论中所建议的那样,

代码语言:javascript
复制
 var cars = [ 
              [ "Volve", 22, 18 ], 
              [ "BMW", 15, 13 ],
              [ "Saab", 5, 2],
              [ "Land Rover", 17, 15]
            ];
票数 0
EN

Stack Overflow用户

发布于 2015-12-12 09:18:38

您可以通过改变位置ij来重新构建数组。你可以把它从一个外观切换到另一个外观。

代码语言:javascript
复制
function transpose(source, target) {
    source.forEach(function (a, i) {
        a.forEach(function (b, j) {
            target[j] = target[j] || []
            target[j][i] = b;
        });
    });
}

var cars = [["Volvo", 22, 18], ["BMW", 15, 13], ["Saab", 5, 2], ["Land Rover", 17, 15]],
    pCars = [];

transpose(cars, pCars);
document.write('<pre>' + JSON.stringify(pCars, 0, 4) + '</pre>');
cars = [];
transpose(pCars, cars);
document.write('<pre>' + JSON.stringify(cars, 0, 4) + '</pre>');

票数 0
EN

Stack Overflow用户

发布于 2015-12-12 11:08:38

是否可以在javascript中创建多维数组?

是的,是这样的。

但这似乎不是你的问题。相反,您的问题似乎是,如果我有一个数组,其中第一个子数组包含字段1的值,第二个子数组包含字段2的值,那么如何将其重新组织成数组中的数组,其中每个子数组包含一个对象的所有字段。

正如另一个响应者提到的,这是数组换位。一个简单的方法是:

代码语言:javascript
复制
function transpose(a) {
  return a[0] . map((col, i) => a . map(row => row[i]));
}

将其用作:

代码语言:javascript
复制
var cars = [];

cars.push(["Volvo", "BMW", "Saab", "Land Rover"]);
cars.push([22, 15, 5, 17]);
cars.push([18, 13, 2, 15]);

console.log(transpose(cars));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34237851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档