我有一个JSON字符串,如下所示:
var empJSON = {
"Emp1":{
id:"emp123124",
name:"xyz"
},
"Emp2":{
id:"emp12654",
name:"abx"
}
};
JSON的结构是固定的。
我想获取具有特定ID的当前对象。
e.g。 Emp1对象,其中id为" emp123124"。
如何使用lodash轻松完成此操作?
答案 0 :(得分:2)
迭代集合的元素,返回第一个元素谓词返回truthy for。使用三个参数调用谓词:(value,index | key,collection)。
var empJSON = {
"Emp1": {
id: "emp123124",
name: "xyz"
},
"Emp2": {
id: "emp12654",
name: "abx"
}
};
var id = "emp12654";
var result = _.find(empJSON, function(emp) { return emp.id === id });
console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
&#13;
答案 1 :(得分:0)
使用原生JavaScript Object.keys
和Array#find
方法。
var empJSON = {
"Emp1": {
id: "emp123124",
name: "xyz"
},
"Emp2": {
id: "emp12654",
name: "abx"
}
};
var id = 'emp12654';
var res = empJSON[Object.keys(empJSON).find(function(k) {
return empJSON[k].id == id;
})];
console.log(res);
&#13;
答案 2 :(得分:0)
只需使用_.find
简写
_.find(empJSON, {id: 'emp123124'})