自己封装函数,实现数组的内置方法indexOf的功能
2021-01-27 07:16
标签:个数 没有 function 字符 def 朋友 return color code 在学习或开发过程中,经常会有朋友需要使用到一个数组方法-indexOf,这里我们先来谈谈它的功能:返回指定数据所在的索引,如果没有则返回-1。 那么我们在使用时通常是直接使用它这个数组内置方法 今天这篇文章我们便要自己封装一个函数,用来实现数组的内置方法indexOf的功能,已便我们对其有更好的理解!! 在此之前我们先来了解一下数组的内置方法indexOf的一些基本共功能及细节 数组中没有aaa这个字符,返回-1 以上便是个人封装的一个同数组内置indexOf方法函数,感谢观看! 自己封装函数,实现数组的内置方法indexOf的功能 标签:个数 没有 function 字符 def 朋友 return color code 原文地址:https://www.cnblogs.com/Artislong/p/12846056.html var arr = ["hello", 1, 2, 3, 4, 5, 6, "world"];
var res = arr.indexOf(2);
console.log(res); //返回索引2
var arr = ["hello", 1, 2, 3, 4, 5, 6, 2, "world"];
var res = arr.indexOf(2, 5);
console.log(res); //返回7
在这里我们又给添加了一个参数,这个参数表示查找的起始位置
var arr = ["hello", 1, 2, 3, 4, 5, 6, "world"];
var res = arr.indexOf("aaa");
console.log(res); //返回-1
var arr = ["hello", 1, 2, 3, 4, 5, 6, "world"];
var res = arr.indexOf(3, 2.5);
console.log(res); //-1
在这里我们给放索引值的位置添加了一个参数为小数,观察发现系统自动会parseInt后在进行正常运算
在了解了数组的内置方法indexOf的一些基本共功能及细节之后,我们开始自己封装一个函数,用来实现和它一样的功能 ;(function() {
"use strict"; //我们在严格模式下进行
var arr = [2, 1, 6, 99, 101, 4, 1, 23];
function arrIndexOf(a, b) { //定义函数,接收两个参数
if(typeof b === "number"){ //先假设有实参b,在这里我们首先判断传实参b是否是一个数字
b = parseInt(b); //如果实参b为小数,先取整(注意,这里的取整是,没有四舍五入的,所以我们用parseInt)
for(var i = b; i ) { //这里直接从索引为b的位置开始遍历
if(a === arr[i]){
return i; //如果找到了,返回索引
}
}
return -1; //没找到,返回-1
}else{ //如果没有实参b(undefined)或者实参b不是数值,就从最开始遍历整个数组
for(var i = 0; i ) {
if(a === arr[i]){
return i;
}
}
return -1;
}
}
var res = arrIndexOf(99, 2);
console.log(res); //实测和数组中的内置方法indexOf无差
})();
上一篇:排序与分组函数(未补充)
文章标题:自己封装函数,实现数组的内置方法indexOf的功能
文章链接:http://soscw.com/index.php/essay/47653.html