为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

神不在的星期二 2021-11-25 15:35:02
我正在尝试访问循环中其他数组内的数组名称,但我失败了。如果 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)    });}//orfor (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 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

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


查看完整回答
反对 回复 2021-11-25
?
撒科打诨

TA贡献1934条经验 获得超2个赞

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


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


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


     }  


}

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


查看完整回答
反对 回复 2021-11-25
?
白板的微信

TA贡献1883条经验 获得超3个赞

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


arr1 = [value1, value2];

arr2 = [value1, value2];

obj = { 'a1': arr1, 'a2': arr2}

然后你可以迭代对象键,因为现在它是一个对象:


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


查看完整回答
反对 回复 2021-11-25
?
万千封印

TA贡献1891条经验 获得超3个赞

干得好。


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

    )};

}


查看完整回答
反对 回复 2021-11-25
  • 4 回答
  • 0 关注
  • 234 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信