获取某个数组元素 在 数组中的索引


例如我们有数字:

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