Rob*_*rsz 27 javascript arrays object
我有一个像这样的JavaScript对象数组:
var myArray = [{...}, {...}, {...}];
Run Code Online (Sandbox Code Playgroud)
每个对象id在其他属性中都是唯一的:
{
id: 4,
property1: 'something',
property2: 'something'
}
Run Code Online (Sandbox Code Playgroud)
如果我只知道它的id属性,我如何获得该数组中特定对象的索引?所以,如果我知道,myArray[x].id == 4我怎么能找到x?
xda*_*azz 61
var index = myArray.map(function(el) {
return el.id;
}).indexOf(4);
Run Code Online (Sandbox Code Playgroud)
对于低于版本9的IE,map需要一个补丁,或者只是使用一个循环.
Dmi*_*dov 17
或者使用ES6语法:
let index = myArray.map( el => el.id ).indexOf(4)
Run Code Online (Sandbox Code Playgroud)
要么
let index = myArray.findIndex( el => el.id === 4 )
Run Code Online (Sandbox Code Playgroud)
为什么不简单地做一个循环?
function indexOfId(array, id) {
for (var i=0; i<array.length; i++) {
if (array[i].id==id) return i;
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
js(或js库)中有许多工具的事实并不意味着你有时不能写一个循环.那是快速而简单的.
| 归档时间: |
|
| 查看次数: |
30331 次 |
| 最近记录: |