method 1
var arr = [20,10,33, 14, 16]; var item = 16; function choose(arr, item){ for(var i = 0; i < arr.length; i++){ if(arr[i] == item) return i; } return -1; } var end = choose(arr, item); console.log(end); var arr = [20,10,33,14, 16]; var item = 13;
Method 2 reduce method
var arr = [20,10,33,14, 16]; var item = 13; function choose(arr, item){ var back = -1; var i = 0; arr.reduce((newarr, one)=>{ if(one == item){ back = i; } i = i + 1; },[]); return back; }
Method 3
var end = choose(arr, item); console.log(end); var arr = [20,10,33,14, 16]; var item = 16; function indexOf(arr, item){ return arr.indexOf(item); } var end = indexOf(arr, item); console.log(end);
Method 4
var arr = [20,10,33,14, 16]; var item = 16; function choose(arr, item){ if(Array.prototype.indexOf){ return arr.indexOf(item); } else{ for(var i = 0; i < arr.length; i++){ if(arr[i] == item) return i; } return -1; } } var end = choose(arr, item); console.log(end);
Method 4 1 and 3 are mixed, but with an array method of determining whether it has indexOf, Array configuration whether it has prototyping indexOf