獲取某個數組元素 在 數組中的索引


例如我們有數字:

var arr1 =['aa','bb','cc','dd','ee','ff','gg','hh'];

var arr2 = [

  {id:1,name:'lanyan'},

  {id:2,name:'wanming'},

  {id:3,name:'tingting'},

  {id:4,name:'songsong'}

];

var arr2 = [

  {id:1,name:'lanyan'},

  {id:2,name:'wanming'},

  {id:3,name:'tingting'},

  {id:4,name:'songsong'},

  'test',

  'ethos'

];

一般我們是通過indexOf,findIndex獲取數組的索引的 

arr1.indexOf('bb')  //1

arr1.findIndex(function(data) {

  return data == 'bb';

});

//輸出索引1 

但是如果一個數組里 包含對象,也包含字符串呢,這里有一個函數供參考

let getArrIndex = function(arr, obj) { let index = null; let key = Object.keys(obj)[0]; arr.every(function(value, i) { if (value[key] === obj[key]) { index = i; return false; } return true; }); return index; };

 

用法:

var getIndex = getArrIndex(arr2,{id:2,name:'wanming'});

//輸出:1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM