Javascript 如果对象存储在数组中,是否可以查看/检索该对象';数组中有谁的名字?

Javascript 如果对象存储在数组中,是否可以查看/检索该对象';数组中有谁的名字?,javascript,Javascript,背景:在下面的简化数据结构中,访问单个项目及其属性非常简单。例如,大众汽车的价值很容易获得 let car = {}; let truck = {}; car.one = 'Volkswagon'; car.two = 'Toyota'; truck.one = 'Dakota'; truck.two = 'Tacoma'; let vehicleArray = [car, truck]; console.log(vehicleArray[0].one); //Volkswagon

背景:在下面的简化数据结构中,访问单个项目及其属性非常简单。例如,大众汽车的价值很容易获得

let car = {};
let truck = {};

car.one = 'Volkswagon';
car.two = 'Toyota';

truck.one = 'Dakota';
truck.two = 'Tacoma';

let vehicleArray = [car, truck];

console.log(vehicleArray[0].one);  //Volkswagon
问题:但是是否可以访问存储在数组中的对象的名称?在这种情况下,值为car和truck。我不知道如何从阵列中取出这些

下面的代码返回对象内部的属性和值,但不返回对象的名称

console.log(vehicleArray[0]); // { one: 'Volkswagon', two: 'Toyota' }
您可以像这样通过数组来检索所有值:

let car={};
让truck={};
car.one=‘大众汽车’;
二号车=‘丰田’;
卡车一号=‘达科塔’;
truck.two='Tacoma';
让车辆光线=[汽车,卡车];

vehicleArray.map(({one,two})=>console.log(one,two))
如果对象存储在数组中,是否可以从数组中查看/检索对象的名称?不,你不能

如果用名称包装对象并将其推送到数组中,则可以取回名称

let car = {};

let truck = {};

car.one = 'Volkswagon';

car.two = 'Toyota';

truck.one = 'Dakota';

truck.two = 'Tacoma';

vehicleArray = [{car}, {truck}];

vehicleArray.map(v => console.log(Object.keys(v)[0]));

不。如果一个对象的名称像这样重要,不要使用数组。可能的重复不是对象的“名称”;它们是指定了引用的变量。对象并不“知道”变量的存在;var-bar=foo名称应该是
foo
还是
bar
?这是一个。更详细地解释您的用例这并没有回答问题:OP想要动态地获取变量名,例如car和truck。谢谢@skovy,但Jared Smith是正确的。我试图在不知道车和卡车在里面的情况下动态地提取它们的值。问题总是说他想要得到车和卡车的值。用例是什么?是否可以将
类型
名称
属性添加到
汽车
卡车
?使用地图不正确。这是一个错误的工作工具,当你真正想要的是每一个。类似地,
find()
filter()
更合适。详细说明如何解决OP问题的解释在哪里?你的“猜测”本身毫无意义。花几分钟时间通读车辆光线=[…汽车,…卡车];如果你想给他们加一份,就用它吧