> 웹 프론트엔드 > JS 튜토리얼 > JS의 모든 루프 순회 방법 요약

JS의 모든 루프 순회 방법 요약

php中世界最好的语言
풀어 주다: 2018-06-01 09:43:14
원래의
2484명이 탐색했습니다.

이번에는 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:&#39;zhou&#39;,age:&#39;**&#39;}
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
// 1
로그인 후 복사
do while 루프는 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 循环是 Es6 中新增的语句,用来替代 for in 和 forEach,它允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代(Iterable data)的数据结构,注意它的兼容性。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS反射与依赖注入使用案例分析

如何使用js统计页面标签数量

위 내용은 JS의 모든 루프 순회 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿