我想检查像下面这样的JSON对象中的某个键是否包含某个值。假设我想检查任何对象中的键“name”是否具有值“blofeld”(这是真的)。我怎么能那样做?
[ {
"id" : 19,
"cost" : 400,
"name" : "Arkansas",
"height" : 198,
"weight" : 35
}, {
"id" : 21,
"cost" : 250,
"name" : "Blofeld",
"height" : 216,
"weight" : 54
}, {
"id" : 38,
"cost" : 450,
"name" : "Gollum",
"height" : 147,
"weight" : 22
} ]
还可以使用array.some()
函数:
null
const arr = [
{
id: 19,
cost: 400,
name: 'Arkansas',
height: 198,
weight: 35
},
{
id: 21,
cost: 250,
name: 'Blofeld',
height: 216,
weight: 54
},
{
id: 38,
cost: 450,
name: 'Gollum',
height: 147,
weight: 22
}
];
console.log(arr.some(item => item.name === 'Blofeld'));
console.log(arr.some(item => item.name === 'Blofeld2'));
// search for object using lodash
const objToFind1 = {
id: 21,
cost: 250,
name: 'Blofeld',
height: 216,
weight: 54
};
const objToFind2 = {
id: 211,
cost: 250,
name: 'Blofeld',
height: 216,
weight: 54
};
console.log(arr.some(item => _.isEqual(item, objToFind1)));
console.log(arr.some(item => _.isEqual(item, objToFind2)));
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.11/lodash.min.js"></script>