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问题的解释在哪里?你的“猜测”本身毫无意义。花几分钟时间通读车辆光线=[…汽车,…卡车];如果你想给他们加一份,就用它吧