ECMAScript5는 배열에 대한 5 가지 반복 방법을 정의합니다. 각 메소드는 각 항목에서 실행할 함수와 함수 (즉, 이에 영향을 미치는 값)를 실행하는 범위 객체 (선택 사항)의 두 매개 변수를 수신합니다. 이 메소드에 전달 된 함수는 세 가지 매개 변수, 즉 배열 항목의 값, 배열의 항목 위치 및 배열 객체 자체를받습니다. 사용 방법에 따라이 함수 실행 후 리턴 값은 메소드의 리턴 값에 영향을 미치거나 영향을 미치지 않을 수 있습니다. 이 5 가지 반복 방법은 다음과 같습니다.
5 가지 반복 방법 모두 두 가지 매개 변수를 허용합니다. 각 항목에서 실행하는 함수와 실행중인 함수의 범위 (선택 사항)
모든 () : 배열의 각 항목에서 주어진 함수를 실행하십시오. 함수가 각 항목에 대해 true를 반환하면 true가 반환됩니다.
필터 () : 배열의 각 항목에서 주어진 함수를 실행합니다. 진실을 반환 할 항목을 반환합니다.
foreach () : 배열의 각 항목에 대한 주어진 함수를 실행합니다. 함수는 값을 반환하지 않습니다.
Map () : 배열의 각 항목에서 주어진 함수를 실행하십시오. 각 함수 호출 결과로 구성된 함수를 반환합니다.
일부 () : 배열의 각 항목에서 주어진 함수를 실행하십시오. 함수가 어느 쪽이든 true를 반환하면 true가 반환됩니다.
위의 모든 방법은 배열에 포함 된 값을 수정하지 않습니다.
위의 방법에서, 모든 ()와 일부 ()는 매우 유사하며 배열의 항목이 특정 조건을 충족하는지 여부를 쿼리하는 데 사용됩니다. 모든 () 메소드의 경우, 전달 된 함수는이 메소드가 true를 반환하기 전에 각 항목에 대해 true를 반환해야합니다. 그렇지 않으면 false를 반환합니다. 전달 된 함수가 배열의 항목에 충실을 반환하는 한 일부 () 메소드는 true를 반환합니다. 예를 들어:
var nums = [1,2,3,4,4,4,3,2,1]; var result = nums.every (함수 (항목, 색인, 배열) {return (return (item> 2);}) console.info (result);위의 코드는 콘솔에서 False를 인쇄합니다.
var nums = [1,2,3,4,4,4,3,2,1]; var result = nums.some (함수 (item, index, array) {return (item> 2);}) console.info (result);위의 코드는 콘솔에서 true 인쇄합니다.
다음은 필터 () 함수의 예입니다.이 기능은 지정된 함수를 사용하여 반환 된 배열에 항목이 있는지 여부를 결정합니다. 예를 들어, 모든 값이 2보다 큰 배열을 반환하려면 다음 코드를 사용할 수 있습니다.
var nums = [1,2,3,4,4,4,3,2,1]; var result = nums.filter (함수 (item, index, array) {return (return (item> 2);}) console.info (결과); // [3,4,5,4,3]위의 코드는 필터 () 메소드를 호출하여 3, 4, 5, 4, 3을 포함하는 배열을 반환합니다. 이 방법은 특정 기준을 충족하는 모든 배열을 쿼리하는 데 매우 유용합니다.
Map () 메소드도 배열을 반환 하고이 배열의 각 항목은 원래 배열의 해당 항목에서 들어오는 기능을 실행 한 결과입니다. 예를 들어 배열의 각 항목에 2를 곱한 다음 이러한 제품의 배열을 반환 할 수 있습니다.
var nums = [1,2,3,4,4,4,3,2,1]; var result = nums.map (함수 (항목, 색인, 배열) {return item * 2;}) console.info (result); // [2,4,6,8,10,8,6,4,2]Map () 메소드는 다른 배열에 하나씩 항목을 포함하는 배열을 작성하는 데 적합합니다.
마지막은 oreach () 메소드이며, 배열의 모든 항목에서 전달 된 함수를 실행합니다. 이 방법에는 반환 값이 없으며, For 루프를 사용하여 배열을 반복합니다. 다음 예를 참조하십시오.
var nums = [1,2,3,4,4,4,3,2,1]; nums.foreach (함수 (항목, 색인, 배열) {// 필수 작업을 실행})JS의 이러한 배열 방법은 다른 작업을 수행하여 배열 작업의 처리를 크게 촉진 할 수 있습니다.
이러한 반복 방법을 지원하는 브라우저는 IE9+, Firefox2+, Safari3+, Opera9.5+및 Chrome입니다.
var 번호 = [1, 2, 3, 4, 5, 4, 3, 2, 1]; // 모든 ()과 일부 ()는 가장 유사합니다. Alert (EveryResult); // false // 일부 () var someresult = numbers.some (함수 (항목, 색인, 배열) {return item> 2;}); Alert (someresult); // true // filter var filterresult = numbers.filter (함수 (항목, 색인, 배열) {return item> 2;}); Alert (FilterResult); // [3,4,5,4,3] // map () var mapresult = numbers.map (함수 (item, index, array) {return (item * 2);}); ALERT (MAPRESULT); // [2,4,6,8,10,8,6,4,2] // Foreach는 본질적으로 루프 var vareachResult = 숫자 (함수 (항목, 색인, 배열) {alert (item)})와는 차이가 없습니다.위는이 기사에 관한 것입니다. JavaScript 반복 방법을 더 잘 이해하기위한 몇 가지 팁을 제공하고 싶습니다.