ver*_*ure 0 javascript underscore.js
我有一个看起来像这样的数组 -
list = [{"doc":{"id": "123", "name":"abc"}}, {"doc":{"id": "345", "name":"xyz"}},{"doc":{"id": "123", "name":"str"}}]
Run Code Online (Sandbox Code Playgroud)
如何使用_.each方法检索id ="123"的doc对象?任何帮助是极大的赞赏.
干杯!
Mar*_*den 15
实际上,_.detect更适合解决这个问题:
var list = [
{"doc":{"id": "123", "name":"abc"}},
{"doc":{"id": "345", "name":"xyz"}},
{"doc":{"id": "123", "name":"str"}}
];
_.detect(list, function (obj) {return obj.doc.id === "123"});
Run Code Online (Sandbox Code Playgroud)
结果:
{"doc":{"id": "123", "name":"abc"}}
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要返回id ='123'的两个对象,则可以使用_.select替换_.detect.
_.select(list, function (obj) {return obj.doc.id === "123"});
Run Code Online (Sandbox Code Playgroud)
结果:
[{"doc":{"id": "123", "name":"abc"}}, {"doc":{"id": "123", "name":"str"}}]
Run Code Online (Sandbox Code Playgroud)
阅读jQuery.each如何处理break;
var object_with_id_123;
$.each(list, function(key, val){
if (val.doc.id == "123") {
object_with_id_123 = val;
return false; // break;
}
return true; // continue; - just to satisfy jsLint
});
console.log(object_with_id_123);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9037 次 |
| 最近记录: |