ES5에는 많은 새로운 것들이 추가되어 있으며, 이해하는 것은 JavaScript를 작성하는 데 큰 도움이 될 것입니다. 예를 들어, 배열에서는 간단하고 눈길을 끄는 루프를 갈 필요가 없습니다.
다음과 같이 ES5에 새로운 작성 방법이 추가되었습니다.
foreach (js v1.6)
지도 (JS v1.6)
필터 (JS v1.6)
일부 (JS v1.6)
모든 (JS v1.6)
Indexof (JS v1.6)
LastIndexof (JS v1.6)
감소 (JS v1.8)
환원등 (JS v1.8)
1. JS의 일반적으로 사용되는 배열 객체 특성 :
그림에서 볼 수 있듯이 빨간 원으로 표시된 부분은 ES5에 추가 된 새로운 속성입니다.
2. 브라우저 지원 상태 :
• IE : 9+;
•크롬;
• Firefox2+;
• 사파리 3+;
• 오페라 9.5+;
3. 위치 방법
ECMAScript5는 배열에 대한 2 개의 위치 메소드를 정의합니다. indexof (), lastIndexof ();
두 가지 방법 모두 발견 할 항목과 검색 시작점의 위치를 나타내는 (선택 사항) 색인을받습니다.
그 중에서도 indexof ()는 배열의 시작 부분 (위치 0)에서 뒤로 보이기 시작하고 LastIndexof ()는 배열 끝에서 기대하기 시작합니다.
두 방법 모두 배열에서 찾을 수있는 항목의 위치를 반환하거나 찾을 수없는 경우 -1을 반환해야합니다.
예:
var 번호 = [1,2,3,4,4,4,3,2,1]; Alert (Numbers.indexof (4)); //4alert(number.lastindexof(4)); //5alert(number.indexof(4,4)); //5alert(number.lastindexof(4,4)); // 3
4. 반복 방법
ECMAScript5는 배열에 대한 5 가지 반복 방법을 정의합니다.
4.1. 모든 ()
정의 및 사용 : 모든 () 메소드는 배열의 모든 요소가 지정된 조건 (함수에 의해 제공)을 충족하는지 여부를 감지하는 데 사용됩니다.
모든 () 메소드는 지정된 함수를 사용하여 배열의 모든 요소를 감지합니다.
• 만족하지 않는 배열에서 요소가 감지되면 전체 표현식이 False를 반환하고 나머지 요소는 다시 감지되지 않습니다.
• 모든 요소가 조건을 충족하면 참으로 반환하십시오.
참고 : 모든 ()는 빈 배열을 감지하지 않습니다.
참고 : 모든 ()가 원래 배열을 변경하지는 않습니다.
설명 : 배열 연령의 모든 요소가 18보다 큰지 감지합니다.
var Ages = [32, 33, 16, 40]; 함수 CheckAdult (Age) {return Age> = 18;} 함수 myFunction () {document.getElementById ( "demo"). innerHtml = ages.every (CheckAdult);}결과는 다음과 같습니다.
거짓;
4.2. 일부()
정의 및 사용 : 일부 () 메소드는 배열의 요소가 지정된 조건 (함수에 의해 제공)을 충족하는지 여부를 감지하는 데 사용됩니다.
배열의 각 항목에서 주어진 함수를 실행하고 함수가 두 항목에 대해 true를 반환하면 true를 반환합니다.
코드는 다음과 같습니다.
var numbers = [1,2,3,4,4,4,3,2,1]; var someresult = numbers.some (function (item, index, array) {// 항목은 배열 값을 말하고, 인덱스는 배열 자체를 의미합니다. 배열 자체를 말합니다 (return (2);}); Alert (someresult);결과는 다음과 같습니다.
진실;
4.3. 필터()
정의 및 사용 : 필터 () 메소드는 새 배열을 생성하고 새 배열의 요소는 기준을 충족하는 지정된 배열의 모든 요소에 대해 확인됩니다.
배열의 각 항목에서 주어진 기능을 실행하여 True를 반환 할 항목 배열을 반환합니다.
설명 : 값이 2보다 큰 배열을 반환하려면 코드는 다음과 같습니다.
var numbers = [1,2,3,4,4,4,3,2,1]; var filterresult = numbers.filter (function (item, index, array) {// 항목은 배열 값을 참조하고 배열 자체에 배열을 참조; return (항목> 2); alert (filterresult);결과는 다음과 같습니다.
[3,4,5,4,3]
4.4. 지도()
정의 및 사용 : map () 메소드는 새 배열을 반환하고 배열의 요소는 함수를 호출 한 후 원래 배열 요소에 의해 처리 된 값입니다.
배열의 각 항목에서 주어진 함수를 실행하여 각 기능 호출의 결과로 구성된 배열을 반환합니다.
설명 : 배열의 각 용어에 2를 곱하고 이러한 제품으로 구성된 배열을 반환하십시오. 코드는 다음과 같습니다.
var numbers = [1,2,3,4,4,4,3,2,1]; var mapresult = numbers.map (function (item, index, array) {// 항목은 배열 값을 말하고, 인덱스는 배열 자체를 의미합니다. 배열 자체; 반환 항목*2;}); alert (mapresult);결과는 다음과 같습니다.
[2,4,6,8,10,8,6,4,2]
4.5. foreach ()
정의 및 사용 : 배열의 각 항목에서 주어진 기능을 실행하십시오. 이 방법에는 반환 값이 없습니다.
기본적으로 배열을 통해 반복하기 위해 루프를 사용하는 것과 동일합니다. 코드는 다음과 같습니다.
var numbers = [1,2,3,4]; numbers.foreach (함수 (항목, 색인, 배열) {console.log (항목);});결과는 다음과 같습니다.
1
2
3
4
5. 방법을 줄입니다
ECMAScript5는 배열을 줄이기 위해 두 가지 새로운 방법을 추가합니다.
이 두 가지 방법은 배열의 모든 항목을 반복 한 다음 최종 반환 된 값을 구축합니다. 그중에서도 Reduce () 메소드는 배열의 첫 번째 항목에서 시작하여 하나씩 끝까지 끝납니다.
reduceRight ()는 배열의 마지막 항목에서 시작하여 첫 번째 항목으로 이동합니다. 두 방법 모두 두 가지 매개 변수를받습니다. 각 항목에서 호출 된 함수 및 (선택 사항) 좁은 기반의 초기 값으로.
함수는 감소 () 및 reduceRight ()를 감소시키기 위해 전달되었습니다.
설명 : Reduce () 메소드를 사용하여 배열에서 모든 값의 합을 찾는 작업을 수행하십시오. 코드는 다음과 같습니다.
var value = [1,2,3,4,5]; var sum = values.reduce (함수 (prev, cur, index, array) {return prev+cur;}); alert (sum);결과는 다음과 같습니다.
15
위는 편집자가 소개 한 JavaScript ES5 표준의 새로 추가 된 배열 메소드에 대한 관련 지식입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!