chrome原生方法之数组

下边看一下chrome/15贯彻的局地数组方法

concat:这么些好说,唯一须求注意的正是concat不是就地修改的,是指再次回到链接后的结果,另外一些是指回张开第一层数组
join:连接数组
pop:出栈操作,注意这么些也是就地修改原数组
push: 入栈操作,注意那几个也是就地修改原数组
reverse: 倒序数组,注意那几个也是就地修改原数组
shift: 出队操作,注意这几个也是就地修改原数组
unshift: 在数组尾部插入一项,后边的那一个后移
slice:
截取数组的一局部,里一个大范围的操作是用这么些法子把类数组转化为实在的数组
splice:修改数组,可以用来插入新项,注意那一个也是就地修改原数组
sort: 数组排序,注意那个也是就地修改原数组
toLocaleString:重返数组的本土字符串情势,一般是用逗号

toString: 重临数组的字符串情势,一般是用逗号

isArray:推断叁个变量是或不是数组,注意,这么些是个静态方法,调用方式Array.isArray()

every:剖断三个数组里面包车型客车项是或不是都满意条件,要是全勤满足条件,重回true,不然再次来到false
some:
这一个可以跟every联系起来,every必要全体为true最终才为true,some只要有一项为true,重回就为true
filter:根据给定准绳从数组里筛选出符合条件的项,然后作为新的数组重回,不然再次回到null
forEach:对数组中的每一样一次试行给定的操作
indexOf:再次来到给定项在数组中的第二个职分(从0下标发轫)
lastIndexOf:与indexOf相反
map:对数组中的每一种三次施行给定的操作并再次来到修改后的数组
reduce:reduce(func,init)
func为二元函数,将func成效于seq连串的因素,每趟指引一对(先前的结果以及下三个体系的成分),一连的将现存的结果和下二个值功效在获得的跟着的结果上,最后收缩大家的队列为一个纯粹的再次回到值。

reduceRight:reduce从右往左的兑现

当大家完成协调的小型库可能部分工具时,也能够稍微扩充一下

复制代码 代码如下:

Object.prototype.extend = function(src){
for(var i in src){
this[i] = src[i];
}
}
Array.extend({
toArray : function(arrayLike){
try{
return [].slice.call(arrayLike);
}catch(ex){
var ret = [];
for(var i = 0,len = arrayLike.length ; i < len ; i++){
ret.push(arrayLike[i]);
}
}
},
isArray : (Array.isArray)?Array.isArray:function(ele){
return ele.constructor == Array;
}
})
Array.prototype.extend((function(){
var each = Array.prototype.forEach || function(fn,obj){
for(var i = 0,len = this.length ; i < len ; i++){
fn.call(obj,this[i]);
}
};
var filter = Array.prototype.filter || function(fn,obj){
var result = [];
for(var i = 0,len = this.length ; i < len ; i++){
if(fn.call(obj,this[i])){
result.push(this[i]);
}
}
return result;
};
var every = Array.prototype.every || function(fn,obj){
for(var i = 0,len = this.length ; i < len ; i++){
if(!fn.call(obj,this[i])){
return false;
}
}
return true;
};
var some = Array.prototype.some || function(fn,obj){
for(var i = 0,len = this.length ; i < len ; i++){
if(fn.call(obj,this[i])){
return true;
}
}
return false;
};
var indexOf = Array.prototype.indexOf || function(dest){
for(var i = 0; i < this.length ;i++){
if(dest == this[i]){
return i;
}
}
return -1;
};
var map = Array.prototype.map || function(fn,obj){
var result = [];
for(var i = 0,len = this.length ; i < len ; i++){
result.push(fn.call(obj,this[i]));
}
return result;
};
var reduce =Array.prototype.reduce || function(fn,init){
var result = init || this[0];
for(var i = 0; i < this.length; i++){
result = fn(result,this[i]);
}
return result;
}
return {
map : map,
each : each,
some : some,
every : every,
filter : filter,
indexOf: indexOf,
reduce : reduce
}
})())

上边是二个小例子,给钦赐ul上边包车型大巴li设置剧情:

复制代码 代码如下:

<ul id=”test”>
<li></li>
<li></li>
<li></li>
</ul>
<script type=”text/javascript”>
Array.prototype.slice.call(document.getElementById(‘test’).getElementsByTagName(‘li’),0).each(function(li){
li.innerHTML = ‘测试each’;
})
</script>

相关文章