如何获取数组内部的数组名称?

时间:2019-10-18 07:24:26

标签: javascript jquery arrays loops multidimensional-array

我试图在循环中访问其他数组内部的数组名称,但是我失败了。我可以通过fx访问该数组的名称(如果它不在另一个数组中)。 Object.keys({thisObject})[0],但是当它在另一个数组中时不起作用。

我已经尝试过每个循环,循环。在新数组中嵌套已初始化的数组:

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]);
    }

}

我想要得到的结果是在表中列出汽车,其中汽车是头条新闻,下面是保时捷,三菱,然后是自行车。

4 个答案:

答案 0 :(得分:1)

const map = new Map();
const cars = new Array("Porshe","Mercedes");
const bikes = new Array("Yamaha","Mitsubishi");

map.set('cars', cars); 
map.set('bikes', bikes); 

您可以像这样检索它们:

for(let arrayName of map.keys()) {
    console.log(arrayName);

    for(let item of map.get(arrayName)) {
        console.log(item);    
    }
}

输出:

cars
Porshe
Mercedes
bikes
Yamaha
Mitsubishi

答案 1 :(得分:0)

for (let i=0;i<vehicles.length;i++){

     for(let j = 0; j< vehicles[i].length;j++){

         Console.log(vehicles[i][j]); 

     }  

}

当您尝试访问数据时,变量名没有用...仅对象存储在数组中,而不是变量名。

答案 2 :(得分:0)

这是行不通的,另一个数组内的数组不是属性,因此没有propertyName。您想要做的是创建一个像这样的对象:

arr1 = [value1, value2];
arr2 = [value1, value2];
obj = { 'a1': arr1, 'a2': arr2}

然后您可以遍历对象键,因为现在它是一个对象:

Object.keys(obj).forEach(key => console.log(key + ' = '+ obj[key]);

答案 3 :(得分:0)

你在这里。

var vehicles={cars: ["Porshe","Mercedes"], bikes: ["Yamaha","Mitsubishi"]};

for( var vehicle in vehicles){ console.log(vehicle)} // this returns the keys in object i.e. "cars" and "bikes" not the values of array

for( var mark in vehicle){ console.log(mark) // this will loop on "bikes" and "cars"

要获取价值,您需要做。

for(var type in vehicles) { // will give type of vehicle i.e. "cars" and "bikes"
    vehicles[type].forEach(vehicle => { // will get values for each type and loop over them
        console.log(vehicle); // this will print the values for every car and bike
    )};
}