我有一个看起来像这样的数组:
var myArray = [
{'id' : 1, 'name' : 'test1'},
{'id' : 2, 'name' : 'test2'},
{'id' : 3, 'name' : 'test3'}
];
Run Code Online (Sandbox Code Playgroud)
然后我有一个包含一些id的变量:
var someId = 2;
如何检查是否myArray包含一个Object,谁的id等于someId?
您可以使用以下.some()方法:
var isThere = myArray.some(function(element) {
return element.id == someId;
});
Run Code Online (Sandbox Code Playgroud)
如果回调为某个元素返回,则该.some()方法返回一个布尔值.一旦发生这种情况,迭代就会停止.truetrue
如果你想要数组中的元素而不仅仅是是/否答案,你可以将相同类型的回调传递给.find():
var theElement = myArray.find(function(element) {
return element.id == someId;
});
Run Code Online (Sandbox Code Playgroud)
当该回调返回时true,迭代停止并.find()返回元素本身.如果没有找到,则返回undefined.
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |