메서드: 1. for 루프, 3. while 루프, 5. forEach 루프, 7. filter(); , 모든(); 10. 감소(); 11. 루프 등
이 튜토리얼의 운영 환경: windows7 시스템, javascript 버전 1.8.5, Dell G3 컴퓨터
12 JavaScript의 루프 탐색 방법
1 for loop
let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i]) } // 0 1 // 1 2 // 2 3
for 루프. JS에서 가장 일반적으로 사용되는 루프 도구 중 하나이며 배열의 루프 탐색에 자주 사용됩니다.
2. for in 루프
let obj = {name:'zhou',age:'**'} for(let i in obj){ console.log(i,obj[i]) } // name zhou // age **
for in 루프는 주로 일반 객체를 순회하는 데 사용됩니다. i는 객체의 키 값을 나타내고, obj[i]는 배열을 순회하는 데 사용됩니다. 대부분의 경우 동일한 효과를 얻을 수 있지만 이렇게 하면 위험합니다. i가 배열에 필요한 숫자 첨자 대신 문자열로 출력되기 때문에 위험합니다. 이는 어떤 경우에는 문자열 연산이 발생함을 의미합니다. 필요한 53 대신 '52'+1 = '521'과 같은 데이터 오류.
또한 for in 루프가 자신의 속성을 순회할 때 프로토타입도 찾을 것이므로 루프 본문에 판단을 추가하는 것이 가장 좋습니다. obj[i].hasOwnProperty(i)를 사용하면 됩니다. 불필요한 속성을 너무 많이 통과하지 않도록 합니다.
3. While 루프
마찬가지로 자동차 배열을 순회합니다. 먼저 for 루프 방법
let cars=["BMW","Volvo","Saab","Ford"]; let i=0; for (;cars[i];) { console.log(cars[i]) i++; }; // BMW // Volvo // Saab // Ford
을 사용한 다음 while 루프 방법
cars=["BMW","Volvo","Saab","Ford"]; var i=0; while (cars[i]) { console.log(cars[i] + "<br>") i++; };
을 사용하여 동일한 효과를 얻을 수 있다는 것을 발견했습니다. 실제로 기본 처리는 동일하지만 for 루프는 정의, 조건부 판단, 자동 증가 및 감소 연산을 하나의 조건에 넣어 실행하는 것이 더 편리해 보이지만 그게 전부입니다.
4. do while 루프
let i = 3; do{ console.log(i) i--; } while(i>0) // 3 // 2 // 1
do while 루프는 먼저 연산을 수행한 다음 조건부 판단을 수행합니다. 거짓이면 루프가 종료됩니다.
5. 배열 forEach 루프
let arr = [1,2,3]; arr.forEach(function(i,index){ console.log(i,index) }) // 1 0 // 2 1 // 3 2
forEach 루프는 배열의 각 요소를 반복하고 작업을 수행합니다. 반환 값이 없으며 배열의 길이를 알 필요가 없습니다. , 첫 번째 항목만 필요하며 아래 첨자 아래의 현재 값을 나타냅니다.
또한 모든 요소가 호출되기 전에는 forEach 루프를 중지할 수 없습니다. 중단해야 하는 경우에는 원할 때 오류를 발생시키는 try catch 문을 사용해 볼 수 있습니다. 강제로 종료하려면 루프를 종료할 수 있도록 캡처한 다음 catch에서 반환합니다. 이 방법을 자주 사용하는 경우 라이브러리에서 이와 같은 forEach 함수를 사용자 정의하는 것이 가장 좋습니다.
6. 배열 map() 메서드
let arr = [1,2,3]; let tt = arr.map(function(i){ console.log(i) return i*2; }) // [2,4,6]
map() 메서드는 새 배열을 반환하며 배열의 요소는 함수 호출 후 원래 배열 요소의 값입니다.
참고: map 및 forEach 메소드는 일반 객체가 아닌 배열을 순회하는 데에만 사용할 수 있습니다.
7. Array filter() 메소드
let arr = [1,2,3]; let tt = arr.filter(function(i){ return i>1; }) // [2,3]
필터 메소드는 Array 객체의 내장 메소드로, 원래 배열을 변경하지 않고 필터링된 요소를 반환합니다.
8. 배열 some() 메서드
let arr = [1,2,3]; let tt = arr.some(function(i){ return i>1; }) // true
some() 메서드는 배열의 요소가 지정된 조건(함수에서 제공)을 충족하는지 여부를 감지하고 원래 배열을 변경하지 않고 부울 값을 반환하는 데 사용됩니다.
9. 배열 Every() 메서드
let arr = [1,2,3]; let tt = arr.some(function(i){ return i>1; }) // 检测数组中元素是否都大于1 // false
every() 메서드는 배열의 모든 요소가 지정된 조건(함수를 통해 제공됨)을 충족하는지 여부를 감지하고 부울 값을 반환하며 원본을 변경하지 않는 데 사용됩니다. 정렬.
10. 배열 감소() 메소드
let arr = [1,2,3]; let ad = arr.reduce(function(i,j){ return i+j; }) // 6
reduce() 메소드는 누산기로서 함수를 전달받으며 배열의 각 값(왼쪽에서 오른쪽으로)이 감소하기 시작하여 최종적으로 값으로 계산됩니다.
11. 배열 ReduceRight() 메서드
let arr = [1,2,3]; let ad = arr.reduceRight(function(i,j){ return i+j; }) // 6
reduceRight() 메서드는 Reduce()와 동일한 기능을 가지며 배열의 끝부터 계산을 시작합니다.
12. for of 루프
let arr = ['name','age']; for(let i of arr){ console.log(i) } // name // age
for of 루프는 for in 및 forEach를 대체하는 데 사용되는 Es6의 새로운 문입니다. 이를 통해 배열(배열), 문자열(문자열), 맵(맵)을 순회할 수 있습니다. , 세트(sets) 및 기타 반복 가능한(Iterable 데이터) 데이터 구조는 호환성에 주의하세요.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !
위 내용은 자바스크립트의 루프 메소드란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!