Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按键访问数组中的JSON元素_Javascript_Json - Fatal编程技术网

Javascript 按键访问数组中的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

我有以下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年作为输出

我可以在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返回满足条件的第一个对象。这是一个建议。