访问数组对象javascript

时间:2017-12-13 10:48:06

标签: javascript arrays object search find

有没有办法在javascript中的一行代码中访问'inq'键的值?

[  
   {  
      "start_date":{  
         "gt":"2017-12-12 00:00:00"
      }
   },
   {  
      "start_date":{  
         "lt":"2017-12-13 23:59:59"
      }
   },
   {  
      "active":"true"
   },
   {  
      "city_ids":{  
         "inq":[  
            1006
         ]
      }
   }
]

我不想做循环和所有。 javascript中的简单一行代码会很棒。 格式不固定,city_ids可以是第一个,第二个或任何地方。

2 个答案:

答案 0 :(得分:1)

您可以使用 array.prototype.find 查找包含 city_ids inq 属性的元素

var arr = [  
   {  
      "start_date":{  
         "gt":"2017-12-12 00:00:00"
      }
   },
   {  
      "start_date":{  
         "lt":"2017-12-13 23:59:59"
      }
   },
   {  
      "active":"true"
   },
   {  
      "city_ids":{  
         "inq":[  
            1006
         ]
      }
   }
];

var value = arr.find(e => e.city_ids && e.city_ids.inq)['city_ids']['inq'];
console.log(value);

答案 1 :(得分:0)

这是解决方案

let data = [  
   {  
      "start_date":{  
         "gt":"2017-12-12 00:00:00"
      }
   },
   {  
      "start_date":{  
         "lt":"2017-12-13 23:59:59"
      }
   },
   {  
      "active":"true"
   },
   {  
      "city_ids":{  
         "inq":[  
            1006
         ]
      }
   }
]

console.log(data[3].city_ids.inq[0])