JavaScriptの配列循環方法
5454 ワード
var arr=[1,2,3,4,5]
1、遍歴、forEachサイクル
2、マップ、mapサイクル
6、some()関数検出配列にはいくつかの項目が条件に合っていますか?
1、遍歴、forEachサイクル
2、マップ、mapサイクル
// map
if(Array.prototype.map===undefined){
Array.prototype.map=function(fun){
var newArr=[];
//
for(var i=0;i<this.length;i++){
// undefined
if(this[i]!==undefined){//
// fun , i, , r
// newArr i r
var r=fun(this[i],i,this);
newArr[i]=r;
}
}
return newArr;
}
}
3、フィルタ、filter()関数は新しい配列を作成するために用いられ、行列の中で条件に合う項目を絞り出して、新しい配列を構成します.var newArr=arr.filter(function(item, index){
return item >3
}) //[4,5]
4、累計して、reduce()関数は、配列を縮小(reduce)することを一つの値(例えば、求和、積)とし、配列中の前項と後件に何らかの計算をさせ、そして最終値を累計する.var result=arr.reduce(function(prev, next){
return prev + next;
}) //15
// reduce
if(Array.prototype.reduce===undefined){
Array.prototype.reduce=function(fun,base){
base===undefined && (base=0);
for(var i=0; i<this.length; i++){
if(this[i]!==undefined){
base=fun(base,this[i],i,this);
}
}
return base;
}
}
5、everyサイクル6、some()関数検出配列にはいくつかの項目が条件に合っていますか?
var result=arr.some(function(item, index){
return item>1
}) // , true
// some
if(Array.prototype.some === undefined){
Array.prototype.some = function(fun){
for(var i=0; i<this.length; i++){
if(this[i]!==unefined){
var r = fun(this[i],i,this);
if(r==true){ return true; }
}
}
return false;
}
}