Javascript 按键访问数组中的JSON元素
我有以下JSON结构Javascript 按键访问数组中的JSON元素,javascript,json,Javascript,Json,我有以下JSON结构 myObj = { name: "John", age: 30, cars: [{ type: "car", year: "1998" }, { type: "van", year: "1995" }] }; 我需要得到汽车的年份,那里的假货=汽车 比苏多代码 myObj.cars.getElement(type=car).year myObj.cars.getElement(type=car).year 这应该给我1998年作为输出 我可以在Javasc
myObj = {
name: "John",
age: 30,
cars: [{ type: "car", year: "1998" }, { type: "van", year: "1995" }]
};
我需要得到汽车的年份,那里的假货=汽车
比苏多代码
myObj.cars.getElement(type=car).year
myObj.cars.getElement(type=car).year
这应该给我1998年作为输出
我可以在Javascript中不使用循环来实现这一点吗
我需要得到车型为=车的年份
比苏多代码
myObj.cars.getElement(type=car).year
myObj.cars.getElement(type=car).year
这应该给我1998年作为输出
我可以在Javascript中不使用循环执行此操作吗?您可以使用filter()
和map()
:
let myObj={
“姓名”:“约翰”,
“年龄”:30岁,
“汽车”:[{“类型”:“汽车”,“年份”:“1998”},
{“类型”:“货车”,“年份”:“1995”}]
};
var carYear=myObj.cars.filter(c=>c.type=='car').map(y=>y.year);
控制台日志(carYear)
只需获取整个数组,如myObj.cars
,然后使用.filter
获取数组中的相关嵌套对象“我有以下JSON结构”-即JavaScript,而不是JSON.myObj.cars.find(o=>o.type==“car”)。year,对于您的问题,这将有效。由于find返回满足条件myobj.cars.find(o=>o.type==“car”).year的第一个对象,因此对于上述问题,这将起作用。因为find返回满足条件的第一个对象。这是一个建议。