>  기사  >  웹 프론트엔드  >  자바스크립트에서 루프를 구현하는 데 사용되는 방법은 무엇입니까?

자바스크립트에서 루프를 구현하는 데 사용되는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2022-01-26 11:26:558554검색

루프 구현 방법: 1. for 루프 문 2. while 루프 문 4. "do while" 루프 문 6. map() 메서드 ; 7. 필터() 메서드 8. some() 9. 모든() 등.

자바스크립트에서 루프를 구현하는 데 사용되는 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript의 12가지 루프 탐색 방법

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]는 배열을 순회하는 데 사용됩니다. 대부분의 경우 동일한 효과를 얻을 수 있지만 이렇게 하면 위험합니다. 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 = [&#39;name&#39;,&#39;age&#39;];
for(let i of arr){
 console.log(i)
}
// name
// age

for of 루프는 for in 및 forEach를 대체하는 데 사용되는 Es6의 새로운 문입니다. 이를 통해 배열(배열), 문자열(문자열), 맵(맵)을 순회할 수 있습니다. , 세트(sets) 및 기타 반복 가능한(Iterable 데이터) 데이터 구조는 호환성에 주의하세요.

【관련 권장 사항: javascript 학습 튜토리얼

위 내용은 자바스크립트에서 루프를 구현하는 데 사용되는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.