使用_.where()时遇到一些问题。它没有按预期工作。 这是我的示例JSON,
var result = [
{
image: {
id: 158,
ig_id: "968545232755317101_1532289565",
status: "hide",
},
id: 1,
month: 4,
year: 2015
},
{
image: {
id: 152,
ig_id: "968547282620733844_1532289565",
status: "approve",
},
id: 2,
month: 4,
year: 2015
},
]
我想获得image.status ='hide'的集合。我确实喜欢这个,
console.log(_.where(result.image, { status : 'hide'})); // This return []
console.log(_.where(result, { image.status : 'hide'})); // This will error
console.log(_.where(result, { 'image.status' : 'hide'})); // This return []
我不知道如何以正确的方式做到这一点。我真的需要帮助。
感谢。
答案 0 :(得分:1)
你可以用这样的香草JS做到这一点:
console.log(result.filter(function (value) {
return value.image.status === 'hide';
}));
我不相信Underscore.js支持在where()
中进行深度比较,但是如果你使用lodash,这可行:
console.log(_.where(result, { image: {status : 'hide'}}));