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
来源:牛客网

猜你喜欢

转载自www.cnblogs.com/srbc/p/9364651.html