[英]Lodash multiple key with multiple array of values filter
我正在嘗試使用lodash過濾器對象過濾多維對象。 以下是我的用於過濾數據的示例對象。
{
"0": {
"details": {
"rating": 2.5,
"amenities": {
"airConditioning": true,
},
},
"rates": {
"packages": [
{
"refundable": "Yes",
}
]
}
},
{
"1": {
"details": {
"rating": 3,
"amenities": {
"airConditioning": false,
},
},
"rates": {
"packages": [
{
"refundable": "Yes",
}
]
}
},
{
"2": {
"details": {
"rating": 2,
"amenities": {
"airConditioning": true,
},
},
"rates": {
"packages": [
{
"refundable": "No",
}
]
}
},
}
我努力了
console.log(_.filter( data, { 'details.rating': '2', 'details.rating': '3' } ));
_.filter(data, function (item) {
return ['2', '3'].indexOf(item.details.rating) >= 0
})
沒有任何作用
您的JSON在鍵"1"
和"2"
之前具有多余的{
。 所以刪除它,它將起作用。
var data = { "0": { "details": { "rating": 2.5, "amenities": { "airConditioning": true, }, }, "rates": { "packages": [ { "refundable": "Yes", } ] } }, "1": { "details": { "rating": 3, "amenities": { "airConditioning": false, }, }, "rates": { "packages": [ { "refundable": "Yes", } ] } }, "2": { "details": { "rating": 2, "amenities": { "airConditioning": true, }, }, "rates": { "packages": [ { "refundable": "No", } ] } } }; var result = _.filter(data, (item) => { return [2, 3].indexOf(item.details.rating) >= 0 }); console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
注意過濾器[2, 3]
的數組元素。 它們是整數類型,如item.details.rating
是整數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.