JS 시 뮬 레이 션 ECMAScript 5 에 추 가 된 배열 방법
6348 단어 ecmascript배열
1.Array.isArray(element)
이 방법 은 들 어 오 는 대상 이 배열 형식 인지 판단 하고 트 루 와 false 를 되 돌려 줍 니 다.
Array.newIsArray = function(element){
return Object.prototype.toString.call(element).slice(8,-1).toLocaleLowerCase() === 'array';
}
2.indexOf(요소)이 방법 은 들 어 오 는 대상 이 배열 에 있 는 위 치 를 찾 고 이 위 치 를 되 돌려 줍 니 다.찾 지 못 하면-1 로 돌아 갑 니 다.이 방법 은 undefined 를 찾 는 데 사용 할 수 없습니다.
index Of 방법 은~부적 과 함께 사용 할 수 있 습 니 다.비트 연산 자~들 어 오 는 숫자 를 반전 시 키 고 1 을 줄 이기 때문에-1 은 0 이 됩 니 다.이 럴 때 판단 조건 에 두 면 암시 적 으로 false 로 전 환 됩 니 다.
Array.prototype.newIndexOf = function(element){
var index = -1;
for(var i = 0; i < this.length; i++){
if(this[i] === element && this[i] !== undefined){
index = i;
break;
}
}
return index;
};
var a = [1,2,3,4,,,5];
console.log(a.newIndexOf(undefined));
3.lastIndexOf(element)이 방법 은 index Of(element)의 역할 과 반환 값 이 같 으 며,유일 하 게 다른 점 은 오른쪽 에서 왼쪽으로 찾 는 것 입 니 다.
Array.prototype.newLastIndexOf = function(element){
var index = -1;
for(var i = this.length - 1; i >= 0; i--){
if(this[i] === element && this[i] !== undefined){
index = i;
break;
}
}
return index;
};
var a = [1,2,3,4,5,2,,,3];
console.log(a.newLastIndexOf(undefined));
4.forEach(function(element,index,array){})배열 을 옮 겨 다 니 며 매개 변 수 는 하나의 반전 함수 이 고 세 개의 전 참 이 있 습 니 다.현재 요소,현재 요소 색인,전체 배열 입 니 다.이 방법 은 부족 한 구성원 을 보류 하 는 것 을 뛰 어 넘 고 원래 배열 을 파괴 하지 않 습 니 다.
Array.prototype.newForEach = function(fn){
for(var i = 0; i < this.length; i++){
if(i in this){
fn(this[i], i, this);
}
}
};
var a = [1,2,3,undefined,undefined,4,5,2,3];
a.forEach(function(e, i, arr){
console.log(e, i, arr);
})
5.every(function(element,index,array){})들 어 오 는 반전 함 수 를 사용 하여 배열 을 옮 겨 다 니 며 모든 반전 이 true 로 돌아 갈 때 every 방법 은 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.이 방법 은 부재 자 를 뛰 어 넘 고 원수 조 를 파괴 하지 않 는 다.
Array.prototype.newEvery = function(fn){
var status = true;
for(var i = 0; i < this.length; i++){
if(i in this){
if(!(status = !!fn(this[i], i, this))){
break;
}
}
}
return status;
};
var a = [1,2,3,4,5,2,undefined,,3];
console.log(a.newEvery(function(){
console.log(arguments);
return 1;
}));
6.some(function(element,index,array){})들 어 오 는 리 셋 함 수 를 사용 하여 배열 을 옮 겨 다 니 며,리 셋 이 true 로 돌아 갈 때,some 방법 은 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.이 방법 은 부재 자 를 뛰 어 넘 고 원수 조 를 파괴 하지 않 는 다.
Array.prototype.newSome = function(fn){
var status = false;
for(var i = 0; i < this.length; i++){
if(i in this){
if(status = !!fn(this[i], i, this)){
break;
}
}
}
return status;
};
var a = [1,2,3,4,5,2,undefined,,3];
console.log(a.newSome(function(){
console.log(arguments);
return 0;
}));
7.map(function(element,index,array){})들 어 오 는 리 셋 함 수 를 사용 하여 배열 을 옮 겨 다 니 며 되 돌아 오 는 내용 으로 새로운 배열 을 구성 합 니 다.이 방법 은 빈 요 소 를 건 너 뛰 지만 최종 결 과 는 구성원 이 없 는 위 치 를 유지 하고 원래 배열 을 파괴 하지 않 습 니 다.
Array.prototype.newMap = function(fn){
var array = new Array(this.length);
for(var i = 0; i < this.length; i++){
if(i in this){
array[i] = fn(this[i], i, this);
}
}
return array;
};
var a = [1,2,3,4,5,2,undefined,,3];
console.log(a.newMap(function(element, index, array){
console.log(arguments);
return element;
}))
8.filter(function(element,index,array){})들 어 오 는 반전 함 수 를 사용 하여 배열 을 옮 겨 다 니 며 새 배열 로 돌아 갑 니 다.이 배열 에는 모든 반전 함수 가 true 로 돌아 가 는 요 소 를 포함 하고 있 으 며,원래 배열 을 파괴 하지 않 습 니 다.
Array.prototype.newFilter = function(fn){
var array = [];
for(var i = 0; i < this.length; i++){
if((i in this) && fn(this[i], i, this)){
array.push(this[i]);
}
}
return array;
};
var a = [1,2,3,4,5,2,undefined,,3];
console.log(a.newFilter(function(element, index, array){
console.log(arguments);
return element;
}))
9.reduce(function(accumulator,currentValue,currentIndex,array){})들 어 오 는 리 셋 함 수 를 사용 하여 배열 을 옮 겨 다 니 며 마지막 리 셋 함수 가 호출 한 반환 값 을 되 돌려 줍 니 다.부족 한 구성원 을 건 너 뛰 면 원래 배열 을 파괴 하지 않 습 니 다.
Array.prototype.newReduce = function(fn){
if(this.length === 0){
throw new TypeError('Reduce of empty array with no initial value');
}
var result;
for(var i = 0; i < this.length; i++){
if(i in this){
if(!result){
result = this[i];
}else{
result = fn(result, this[i], i, this);
}
}
}
return result;
};
var a = [,,1,2,3,4,,6,7];
console.log(a.newReduce(function(a,b){
console.log(arguments);
return a + b;
}))
10.reduceRight(function(accumulator,currentValue,currentIndex,array){})이 방법 은 reduce 와 마찬가지 로 유일한 차이 점 은 오른쪽 에서 왼쪽으로 옮 겨 다 니 는 것 이다.
Array.prototype.newReduceRight = function(fn){
if(this.length === 0){
throw new TypeError('Reduce of empty array with no initial value');
}
var result;
for(var i = this.length - 1; i >= 0; i--){
if(i in this){
if(!result){
result = this[i];
}else{
result = fn(result, this[i], i, this);
}
}
}
return result;
};
var a = [,,1,2,3,4,,6,7];
console.log(a.newReduceRight(function(a,b){
console.log(arguments);
return a + b;
}))
위 에서 말 한 것 은 편집장 이 소개 한 JS 시 뮬 레이 션 으로 ECMAScript 5 에 추 가 된 배열 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Array.prototype.groupBy의 AgrupamentoIsso não foi diferente quando eu tive que trabalhar com JavaScript e exacti fazer uma simples ação de agrupamento, ou se...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.