在json中查找元素-使用下划线库或其他方式

问题描述

我想在下面给定的对象数组中找到g:id对象

如果我的g:id"g:id": "121"

我可以找到类似的元素

var item = _.findWhere(obj,{'g:id': '121'});

但是我拥有的是"g:id": ["121"]一个数组。我怎么找到它。

这是我的对象数组。

[
  {
    "g:id": [
      "121"
    ],"g:item_group_id": [
      "90461"
    ]
  },{
    "g:id": [
      "129"
    ],"g:item_group_id": [
      "90462"
    ]
  }
]

我尝试过这样的var item = _.findWhere(jsonxML,{'g:id'.[0]: '121'});,但无效。

我如何通过underscore.js或任何其他方式执行此操作?

解决方法

您可以使用response.getWriter()进行解构以从数组中获取String值:

Array.find()

另一种选择是使用g:id来查看数组是否包含该值(如果数组可能包含一个以上的值,则必须这样做):

const arr = [{"g:id":["121"],"g:item_group_id":["90461"]},{"g:id":["129"],"g:item_group_id":["90462"]}]

const result = arr.find(({ 'g:id': [gid] }) => gid === '121')

console.log(result)