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