一、内容简介
对于实际应用中,javascript的Array所自带的方法并不能完全满足我们的需求,因此需要我们自己根据自身定义一些儿自己常用的方法。我这里是直接绑定到原型上。因为自己所需要的方法在不断的增多,所以这篇博客会不断的更新(如果自己有新的方法就会更新上来)。
二、常用方法描述及源码
- 获取数组中与字符串第一个相同的值的下标(与原有的Array.indexOf()功能一样,因此可以忽略这个方法(自己封装的没有原有功能强大)
/**
* 获取数组中与字符串第一个相同的值的下标
*/
Array.prototype.indexof = function(val) {
for(var i=0; i<this.length; i++) {
if(this[i] == val) {
return i;
}
}
return -1;
}
- 根据下标移除数组的指定位置
/**
* 根据下标移除数组的指定位置
*/
Array.prototype.remove = function(index) {
index = Number(index);
if(isNaN(index) || index>this.length) {
return false;
}
this.splice(index, 1);
}
- 删除数组中指定的值,需要用到咱们自己封装的remove
/**
* 删除数组中指定的值,需要用到咱们自己封装的remove
*/
Array.prototype.removeVal = function(val) {
var index = this.indexOf(val);
if(index != -1) {
this.remove(index);
}
}
- 获取数组中的最大值
Array.prototype.max = function() {
// 将数组转化为一维数组
var arr = this.toString().split(",");
var max = null;
for(var i=0; i<arr.length; i++) {
var number = Number(arr[i]);
// 判断当前值是否为数字
if(isNaN(number)) {
continue;
}
// 对max进行比较和赋值
if(max === null || max < number) {
max = number;
}
}
return max;
}
- 获取数组中的最小值
Array.prototype.min = function() {
// 将数组转化为一维数组
var arr = this.toString().split(",");
var min = null;
for(var i=0; i<arr.length; i++) {
var number = Number(arr[i]);
// 判断当前值是否为数字
if(isNaN(number)) {
continue;
}
// 对min进行比较和赋值
if(min === null || min > number) {
min = number;
}
}
return min;
}