【发布时间】:2019-04-03 08:33:52
【问题描述】:
如何遍历 Javascipt 中的嵌套对象数组?我有一个名为obj 的对象。我想检索in 是credit 和out 是bank 的对象。
// I have tried using filter but returns empty array
const s = obj.filter(function(t){
return t.in == "credit" && t.out == "bank";
})
console.log(s);
这是数据:
var obj = [{
"btob": [{
"id": "trans",
"in": "bank",
"out": "bank",
"value": 10
}],
"ctob": [{
"id": "trans",
"in": "credit",
"out": "bank",
"value": 20
}],
"dtob": [{
"id": "trans",
"in": "debit",
"out": "bank",
"value": 30
}]
}, {
"btob": [{
"id": "fund",
"in": "bank",
"out": "bank",
"value": 10
}],
"ctob": [{
"id": "fund",
"in": "credit",
"out": "bank",
"value": 10
}],
"dtob": [{
"id": "fund",
"in": "debit",
"out": "bank",
"value": 30
}]
}]
预期输出:
[{
"id": "trans",
"in": "credit",
"out": "bank",
"value": 20
},
{
"id": "fund",
"in": "credit",
"out": "bank",
"value": 10
}]
【问题讨论】:
-
根据您当前的预期输出,您不能在对象中使用相同的键
-
输出无效,因为在同一个对象中不能有相同的键。也许您想要一个对象数组?此外,您正在考虑将
t作为内部数组,尽管t是一个包含动态键 (ctob, btob) 的对象,并且对于该键,是一个对象数组。您可能希望改为过滤该数组。 -
另外,您的对象在某些行的末尾缺少“,”。
-
@briosheje 是的,更新了输出
-
@manuman94 道歉和更新的变化
标签: javascript jquery arrays object