jq查找数组元素的位置


题目描述:
找出元素 item 在给定数组 arr 中的位置

输出描述:
如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1

输入:[ 1, 2, 3, 4 ], 3

输出:2


indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。


function indexOf(arr,item){
   if(Array.prototype.indexOf){ //因为老IE是没有indexOf这个方法的,所以要先判断
    return arr.indexOf(item);
  }else{
    for(var i=0;i<arr.length;i++){
        if(arr[i]===item){
            return i;
            }
    }
  }
   return -1;
}






方法2:

支持数组arr中的数据类型为对象, 数组, 等。
eg: var arr = [{age: 1}, '1', 2, true, [1,2]], 依然可以测试

JSON.stringify()方法将JavaScript对象转换为字符串

/**获取元素位置***/
function indexOf(arr,intem){
   if(!arr || !arr.length){
    return -1;
  }

   for(var i=0;len=arr.length; i<len;i++){
       //支持 arr[i]为对象,数组等
    if(JSON.stringify(arr[i]===JSON.stringify(item))){
       return i;
    }
  }
    return -1;
}

链接:https://www.nowcoder.com/questionTerminal/e7835a8113dd48afb15f77ef8d1dcb1d
来源:牛客网


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM