이번에는 JS의 모든 루프 순회 방법을 요약하고, JS의 루프 순회에 대한 노트는 무엇입니까? 다음은 실제 사례입니다. 살펴보겠습니다.
1. for 루프
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]는 해당 값을 순회하는 데 사용됩니다. array, 대부분의 경우 동일한 효과를 얻을 수 있지만 이렇게 하면 안 됩니다. 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 // 1do while 루프는 while 루프의 변형으로, 먼저 연산을 수행한 다음 조건부 판단을 수행합니다. . 거짓이면 루프가 종료됩니다.
5. 배열 forEach 루프
let arr = [1,2,3]; arr.forEach(function(i,index){ console.log(i,index) }) // 1 0 // 2 1 // 3 2forEach 루프는 배열의 각 요소를 반복하며 배열의 길이를 알 필요가 없습니다. 매개변수는 첫 번째 항목만 필요하며 현재 아래 첨자 아래의 값을 나타냅니다. 또한 모든 요소가 호출되기 전에는 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; }) // truesome() 메서드는 배열의 요소가 지정된 조건(함수에서 제공)을 충족하는지 여부를 감지하고 원래 배열을 변경하지 않고 부울 값을 반환하는 데 사용됩니다. .
9. 배열 Every() 메소드
let arr = [1,2,3]; let tt = arr.some(function(i){ return i>1; }) // 检测数组中元素是否都大于1 // falseevery() 메소드는 배열의 모든 요소가 지정된 조건(함수를 통해 제공됨)을 충족하는지 여부를 감지하고 원본을 변경하지 않고 부울 값을 반환하는 데 사용됩니다. 정렬.
10. 배열 감소() 메서드
let arr = [1,2,3]; let ad = arr.reduce(function(i,j){ return i+j; }) // 6reduce() 메서드는 함수를 누산기로 전달받으며 배열의 각 값(왼쪽에서 오른쪽으로)이 감소하기 시작하여 최종적으로 다음과 같이 계산됩니다. 값.
11. 배열 ReduceRight() 메서드
let arr = [1,2,3]; let ad = arr.reduceRight(function(i,j){ return i+j; }) // 6reduceRight() 메서드는 Reduce()와 동일한 기능을 가지며 배열의 끝부터 계산을 시작합니다.
12. for of 루프
let arr = ['name','age']; for(let i of arr){ console.log(i) } // name // age
for of 循环是 Es6 中新增的语句,用来替代 for in 和 forEach,它允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代(Iterable data)的数据结构,注意它的兼容性。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 JS의 모든 루프 순회 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!