是否可以在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”。
然后,它应该按照与原始数组(表视图)相同的顺序打印。
编辑如下:
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
发布于 2015-12-12 08:37:15
您可以参考文档。
正如桑普森在上述评论中所建议的那样,
var cars = [
[ "Volve", 22, 18 ],
[ "BMW", 15, 13 ],
[ "Saab", 5, 2],
[ "Land Rover", 17, 15]
];发布于 2015-12-12 09:18:38
您可以通过改变位置i和j来重新构建数组。你可以把它从一个外观切换到另一个外观。
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>');
发布于 2015-12-12 11:08:38
是否可以在javascript中创建多维数组?
是的,是这样的。
但这似乎不是你的问题。相反,您的问题似乎是,如果我有一个数组,其中第一个子数组包含字段1的值,第二个子数组包含字段2的值,那么如何将其重新组织成数组中的数组,其中每个子数组包含一个对象的所有字段。
正如另一个响应者提到的,这是数组换位。一个简单的方法是:
function transpose(a) {
return a[0] . map((col, i) => a . map(row => row[i]));
}将其用作:
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));https://stackoverflow.com/questions/34237851
复制相似问题