Ask*_*mov 1 javascript arrays jquery angularjs
我有一个Javascript对象数组,我想找到数组元素(对象)的索引,其中特定对象的字段与我的搜索条件匹配.
也就是说,数组看起来像
[{id:1, saved:0, name: "name1"}, {id:26, saved:0, name: "name2"},
{id:3, saved:0, name: "name3"}, {id:15, saved:0, name: "name4"}]
Run Code Online (Sandbox Code Playgroud)
我想找到元素的id字段等于的元素的索引,比方说,15.我正在使用angular和jquery.
你必须迭代,这是一个非常简单的例子
var index = null;
for (var i=0; i<array.length; i++) {
if ( array[i].id == 15 ) {
index = i;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
如果您只想返回可以执行的对象,那么这将获得索引
var obj = array.filter(function(obj) {
return obj.id == 15;
}).shift();
Run Code Online (Sandbox Code Playgroud)
使用 ES6,您可以使用Array#findIndex
该
findIndex()方法返回数组中满足所提供的测试函数的第一个元素的索引。否则-1返回。
var array = [{ id: 1, saved: 0, name: "name1" }, { id: 26, saved: 0, name: "name2" }, { id: 3, saved: 0, name: "name3" }, { id: 15, saved: 0, name: "name4" }],
index = array.findIndex(({ id }) => id === 15);
console.log(index);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)