javascript - 如何获取数组内部的数组名称?
问题描述
我正在尝试访问循环中其他数组内部的数组名称,但我失败了。如果 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]);
}
}
我想要得到的结果是在表格中列出汽车,其中汽车是标题,下面是保时捷、三菱,然后是自行车是下一个。
解决方案
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
推荐阅读
- android - 在 Hilt 中使用 ActivityRetainedScoped 时,存储库何时会被销毁?
- terraform - 为什么 `terraform fmt` 似乎没有改变任何文件名时会输出文件名?
- python - 如何在“for循环”中插入不同的列表切片?
- metrics - OpenTSDB 默认指标
- sql - 将 WHERE 子句优先于 2 列
- javascript - DataTable 无法从其他页面获取选中复选框的值
- angular - 最新 Angular 中的下拉菜单
- reactjs - 在单个 GitHub 存储库下部署多个应用程序 - Django + React
- html - jquery多个元素淡入淡出循环
- python - python脚本和Django REST API之间的通信