在 json 中查找元素 - 使用下划线库或其他方式
Find the element in json - Using underscore library or other way
我想在下面给定的对象数组中找到 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 或任何其他方式做到这一点?
您可以使用 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)
另一种选择是使用 Array.includes()
查看数组是否包含值(如果数组可能包含多个值,则必须这样做):
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.includes('121'))
console.log(result)
我想在下面给定的对象数组中找到 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 或任何其他方式做到这一点?
您可以使用 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)
另一种选择是使用 Array.includes()
查看数组是否包含值(如果数组可能包含多个值,则必须这样做):
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.includes('121'))
console.log(result)