[英]How to get index of an array element which has more than one sub elements in javascript
我正在使用javascript工作,我想在數組中找到元素的索引。
var task = [{taskno:'1',todo:'cooking'},{taskno:'2',todo:'play'}];
現在我想找到做飯時要完成的任務索引,我不知道它的任務不..有內置函數嗎?
我已經嘗試過此代碼,但無法正常工作:
var index = task.indexOf(todo:'cooking');
現在我正在使用for循環,還有其他方法嗎?
提前致謝 :)
indexOf
將為您提供數組中對象的索引,但是您必須已經有對該對象的引用。
例如
var o1 = { val: 'o1' },
o2 = { val: 'o2' };
[o2, o1].indexOf(o1); //1
如果沒有對該對象的引用,則必須創建自己的搜索算法。
var tasks = [{taskno:'1',todo:'cooking'}, {taskno:'2',todo:'play'}];
var index = indexOfFirstMatch(tasks, function (task) {
return task.todo === 'cooking';
});
console.log(index); //0
function indexOfFirstMatch(arr, matcher) {
var i = 0, len = arr.length;
for (; i < len; i++) {
if (matcher(arr[i])) return i;
}
return -1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.