下面有一个复杂的对象数组,我有一个 term_id
可以搜索。我试图找到匹配的 term_id
,然后从我找到 term_id
的同一个对象返回关联的 ticker: name
。
container = [Object, Object];
// container:
[
0: Object {
tags: [
0: {
term: "tag_name_1",
term_id: 1111
},
0: {
term: "tag_name_2",
term_id: 2222
}
],
ticker: {
name: "ticker1"
}
},
1: Object {
tags: [
0: {
term: "tag_name_3",
term_id: 3333
}
],
ticker: {
name: "ticker2"
}
}
]
您将如何实现这一目标? _lodash 有简单的方法吗? ?
最佳答案
// You can do this with native JS:
var container = [{tags: [{term: "tag_name_1",term_id: 1111},{term: "tag_name_2",term_id: 2222}],ticker: {name: "ticker1"}},{tags: [{term: "tag_name_3",term_id: 3333}],ticker: {name: "ticker2"}}];
function search (container, id) {
var contains = false;
var result;
container.forEach(function(obj){
obj.tags.forEach(function(innerData){
if (innerData.term_id === id) {
contains = true;
}
})
if (contains) {
result = obj.ticker.name;
contains = false;
}
});
return result;
}
console.log(search(container, 1111));
关于javascript - 如何遍历对象数组以查找 ID 然后返回同级键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31348731/