JS 의 교체 (배열)
무엇이 교체 입 니까?목표 (배열, 대상 등) 의 모든 항목 을 순서대로 방문 하 는 것 으로 간단하게 이해 할 수 있다.
배열 의 교 체 는 나 에 의 해 두 가지 로 나 뉜 다.
찾기:
1.indexOf(item,start)
이 방법 은 지정 한 요소 값 위 치 를 검색 하고 아래 표 시 를 되 돌려 줍 니 다.
인자: item 은 찾 을 값 입 니 다. start 는 어디서부터 찾 으 시 겠 습 니까?ps: start 는 마 이 너 스 를 취 할 수 있 습 니 다. 밤 index Of (x, - 5) 를 들 면 꼴찌 6 번 부터 (꼴찌 1 번 이 0 이 니까) 정상 적 인 0 번 째 를 찾 았 다 는 뜻 입 니 다.
여러 번 나타 나 면 처음 나타 난 아래 표 시 를 되 돌려 줍 니 다.나타 나 지 않 으 면 되 돌아 가기 - 1.
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
console.log(a);//0
2. lastIndex Of (item, start) 는 위의 방법 과 마찬가지 로 다른 점 은 역 주 행 이 고 끝 에서 부터 찾 는 것 이다.start 도 마 이 너 스 를 지정 할 수 있 습 니 다. start 에서 - 5 를 취하 면 아래 5 로 표 시 된 곳 부터 계속 앞으로 찾 는 것 을 나타 냅 니 다.
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
console.log(a);//2
3. find () 방법 은 테스트 함 수 를 통과 한 첫 번 째 배열 요소 의 값 을 되 돌려 줍 니 다.
매개 변수: (항목 값, 항목 색인, 배열 자체)
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
4.findIndex() 방법 은 테스트 함 수 를 통과 한 첫 번 째 배열 요소 의 색인 을 되 돌려 줍 니 다.
매개 변수: (항목 값, 항목 색인, 배열 자체)
var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
위의 몇 가지 방법 은 말 할 것 이 없 으 니, 다음 이 야 말로 중점 이다.
옮 겨 다 니 기: 이런 방법 은 7 가지 가 있다.
1.some()
2.every()
두 함수 모두 세 개의 값 (항목 값, 항목 색인, 배열 자체) 을 받 아들 입 니 다.
이 두 가지 방법 은 배열 의 모든 항목 을 순서대로 판단 하여 boolean 형식의 값 을 되 돌려 줍 니 다.다른 것 은 some 는 한 가지 만족 조건 만 있 으 면 true 로 돌아 가 고 every 는 모든 조건 을 만족 시 켜 야 true 로 돌아 갈 수 있다 는 것 이다.
밤 을 들다
var a=[1,2,3,4,5,4,3,2,1];
var everyResult=a.every(function(item,index,a){
return (item>2);
});
var someResult=a.some(function(item,index,a){
return (item>2);
});
alert("everyResult:"+everyResult);//false
alert("someResult:"+someResult);//true
물론 화살표 함수 의 형식 이 될 수도 있 습 니 다.
a.some((item)=>{return item>2})
이 두 가지 방법 은 판단 만 하고 배열 을 바 꾸 지 않 는 다.
3.forEach()
4.filter()
5.map()
왜 이 세 가 지 를 같이 말 합 니까? 왜냐하면 그들 은 앞의 some, every 와 함께 면접 문제 로 자주 시험 을 보기 때 문 입 니 다.
세 함수 모두 세 개의 값 (항목 값, 항목 색인, 배열 자체) 을 받 습 니 다.
foreach: for 순환 과 같은 작업 을 하고 순환 적 으로 옮 겨 다 니 며 모든 항목 을 조작 합 니 다.
map: foreach 와 매우 비슷 합 니 다. 함수 호출 후의 결과 로 구 성 된 배열 을 되 돌려 줍 니 다.
filter: 위의 두 가지 와 비슷 하지만 함수 호출 결과 값 이 true 인 항목 을 되 돌려 줍 니 다. (호출 된 함 수 를 표현 식 으로 이해 합 니 다. 즉, 이 표현 식 의 모든 항목 에 맞 는 새 배열 을 되 돌려 줍 니 다)
구별:
맵 과 foreach 는 사실 용법 에 있어 서 별 차이 가 없 지만!다른 것 이 있 습 니 다. foreach 는 값 을 되 돌려 주지 않 았 습 니 다.
그리고 filter 는 말 그대로 필 터 는 배열 이 조건 에 맞지 않 는 항목 을 걸 러 냅 니 다.따라서 용도 에 있어 서 filter 는 크게 다 를 수 있 으 며, 원 하지 않 는 배열 항목 을 선별 하 는 데 자주 사용 된다.
밤 을 들 겠 습 니 다.
var a=[1,2,3,4,5,4,3,2,1];
var filterResult=a.filter(function(item,index,a){
return (item>2);
});
var mapResult=a.map(function(item,index,a){
return item*2;
});
var foreachResult=a.forEach(function(item,index,a){
if(item<5) a[index]=0;
});
alert("filterResult:"+filterResult); //3,4,5,4,3
alert("mapResult:"+mapResult); //2,4,6,8,10,8,6,4,2
alert("foreachResult:"+foreachResult); //underfined
alert("foreachResult:"+a); //0,0,0,0,5,0,0,0,0
6.reduce()
7.reduceRight()
인자:
이번에 나 는 직접 밤 을 들 었 다.
var a=[1,2,3,4,5,4,3,2,1];
var sum=a.reduce(function (prev,cur,index,array){
return prev+cur;
})
alert("sum:"+sum);
상소 용법 은 배열 의 모든 항목 을 구 하 는 데 가장 자주 사용 되 는 용법 이다.사실은 적 을 구 하 는 것 도 가능 하 다. 이 방법의 영혼 은 바로 이 prev 값 이 있다. 구체 적 으로 네가 어떻게 응용 하 는 지 를 보 자. (그러나 사실은 많이 사용 하지 않 고 외부 var 에서 sum 변수 도 할 수 있다)
ps: reduce () 와 reduceRight () 는 빈 배열 에 대해 서 는 리 셋 함 수 를 실행 하지 않 습 니 다.
추가, 주의: foreach, filter, every, some 은 빈 자 리 를 건 너 뛰 고 map 는 빈 자 리 를 건 너 뛰 지만 이 값 을 유지 합 니 다.
개인 적 으로 어 리 석 은 견 해 는 참 는 것 을 좋아 하지 않 는 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.