找出元素在数组中的位置
网上很常见的一个题目:
题目描述:找出元素 item 在给定数组 arr 中的位置。
输出描述:如果数组中存在item,则返回元素在数组中的位置,否则返回-1。
示例:输入{1,2,3,4},3
结果:2
JS代码:
function indexOf(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;
}
第一个if通过prototype判断浏览器Array原型中有没有indexOf()方法,若没有则执行自定义的方法。这里只是返回值,并不能显示在页面上,要显示的话直接输出
但是该题目没有考虑到数组元素是否重复的问题,更标准的答案应该是新建一个数组,用来装item元素的位置,最后输出新数组。
操作结果为