【发布时间】:2020-02-15 03:44:44
【问题描述】:
我正在尝试访问循环中其他数组内部的数组名称,但我失败了。如果 fx 不在另一个数组中,我可以访问该数组的名称。 Object.keys({thisObject})[0] 但是当它在另一个数组中时它不起作用。
我已经尝试过每个循环,for 循环。在新数组中嵌套初始化数组:
var arr1 = [1,2,3]
var arr2 = [4,5,6]
var arr3 = new Array(arr1,arr2)
不过,在循环中我无法获得 arr1 和 arr2 的名称。我有可能访问它们的值,但不能访问名称..
var cars = new Array("Porshe","Mercedes");
var bikes = new Array("Yamaha","Mitsubishi");
var vehicles = new Array(cars, bikes);
for (var key in vehicles) {
var value = vehicles[key];// This is retruning whole array, not the name
console.log(Object.keys({vehicles[key]})[0]) // That does not work
vehicles[key].forEach(car => {
console.log(car)
});
}
//or
for (let i=0;i<vehicles.length;i++){
console.log(vehicles[i]); //This is also returning whole array - same method.
for(let j = 0; j< vehicles[i].car.length;j++){
console.log(vehicles[i][j]);
}
}
我想要得到的结果是在表格中列出汽车,其中汽车是标题,下面是保时捷、三菱,然后是自行车。
【问题讨论】:
-
您将数组存储在数组中。它们没有任何名称,对象属性有名称而不是数组。如果你想要名字然后做类似
var vehicles={cars: ["Porshe","Mercedes"], bikes: ["Yamaha","Mitsubishi"]} -
好的,所以现在我可以获取数组名称,但是当我尝试对其中的元素进行循环时,它会给我数组名称中的字母数,例如:
var vehicles={cars: ["Porshe","Mercedes"], bikes: ["Yamaha","Mitsubishi"]} for( var vehicle in vehicles){ console.log(vehicle) //That is working fine now for( var mark in vehicle){ console.log(mark) //That's returning lenght of the name of the array like 0,1,2,3,4,5 for Porshe } }跨度> -
你可以的。
vehicles["cars"].forEach(item => console.log(item))代替“汽车”,您可以放置变量。 -
我已经发布了答案。
标签: javascript jquery arrays loops multidimensional-array