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