빠른 속도로 원하는 경우 ... Array.prototype.map 루프만큼 빠르지는 않습니다.
http://jsperf.com/array-map-vs-loop/2
그래서
:
function customMap(a,c){
var b=[],l=a.length;
while(l--){
b[l]=c(a[l]);
}
return b;
}
을이 매우 빠르고
var newArray=customMap(oldArray,function);
로를 반환합니다.
사용자 정의 프로토 타입을 만들 수도 있습니다.
Object.defineProperty(Array.prototype,'CMap',{value:function(c){
var b=[],l=this.length;while(l--){b[l]=c(this[l])}
return b;
},writable:false,enumerable:false});
지도와 같이 사용하십시오.
var newArray=oldArray.CMap(function);
EDIT 만 정의에있는 모든 변수는 외부 테스트 정의된다 .. 그래서 속도 기반
http://jsperf.com/custom-vs-map
여기
jsperf에서 테스트가 ... 기능.
이 모든 브라우저에서 작동합니다.
그래, 새 라인의;) * 그냥 농담 *을 제거하십시오. –
array.push는 new_array.push이어야하고 반환 배열은 new_array를 반환해야한다고 생각합니다. –