JavaScript 배열 반복

배열 반복 메서드는 각 배열 항목에 대해 작업을 수행합니다。

Array.forEach()

forEach() 메서드는 각 배열 요소에 대해 함수를 한 번만 호출합니다(콜백 함수)。

예제

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
  txt = txt + value + "<br>"; 
}

직접 시도해 보세요

주석:이 함수는 3 개의 매개변수를 받습니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

위의 예제는 단지 value 매개변수를 사용했습니다. 이 예제는 다음과 같이 다시 작성할 수 있습니다:

예제

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
  txt = txt + value + "<br>"; 
}

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.forEach()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.map()

map() 메서드는 각 배열 요소에 함수를 실행하여 새 배열을 생성합니다。

map() 메서드는 값을 가지지 않는 배열 요소에 대해 함수를 실행하지 않습니다。

map() 메서드는 원래 배열을 변경하지 않습니다。

이 예제는 각 배열 값에 2를 곱합니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
  return value * 2;
}

직접 시도해 보세요

이 함수는 3 개의 매개변수를 받습니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

콜백 함수가 단지 value 매개변수를 사용할 때, 인덱스와 배열 매개변수를 생략할 수 있습니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
  return value * 2;
}

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.map()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.filter()

filter() 메서드는 테스트를 통과한 배열 요소를 포함하는 새 배열을 생성합니다。

이 예제는 값이 18보다 큰 요소로 새 배열을 생성합니다:

예제

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

직접 시도해 보세요

이 함수는 3 개의 파라미터를 받아야 합니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

위의 예제에서, 콜백 함수는 index와 array 매개변수를 사용하지 않으므로 생략할 수 있습니다:

예제

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
  return value > 18;
}

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.filter()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.reduce()

reduce() 메서드는 각 배열 요소에 함수를 실행하여 단일 값을 생성(감소시킵니다)。

reduce() 메서드는 배열에서 왼쪽에서 오른쪽으로 작동합니다. 또한 reduceRight()를 참조하세요。

reduce() 메서드는 원래 배열을 줄이지 않습니다。

이 예제는 배열 중 모든 숫자의 합을 정합니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
  return total + value;
}

직접 시도해 보세요

이 함수는 4 개의 매개변수를 받습니다:

  • 총 합(초기 값/이전 반환 값)}
  • 항목 값
  • 항목 인덱스
  • 배열 자체

이전 예제는 index와 array 파라미터를 사용하지 않았습니다. 그를 다음과 같이 변경할 수 있습니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
  return total + value;
}

직접 시도해 보세요

reduce() 메서드는 초기 값을 받을 수 있습니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 100);
function myFunction(total, value) {
  return total + value;
}

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.reduce()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.reduceRight()

reduceRight() 메서드는 각 배열 요소에 함수를 실행하여 단일 값을 생성(감소시킵니다)。

reduceRight() 메서드는 배열에서 오른쪽에서 왼쪽으로 작동합니다. 또한 reduce()를 참조하세요。

reduceRight() 메서드는 원래 배열을 줄이지 않습니다。

이 예제는 배열 중 모든 숫자의 합을 정합니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
  return total + value;
}

직접 시도해 보세요

이 함수는 4 개의 매개변수를 받습니다:

  • 총 합(초기 값/이전 반환 값)}
  • 항목 값
  • 항목 인덱스
  • 배열 자체

이전 예제는 index와 array 파라미터를 사용하지 않았습니다. 그를 다음과 같이 변경할 수 있습니다:

예제

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
  return total + value;
}

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.reduceRight()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.every()

every() 메서드는 배열 값 모두가 테스트를 통과하는지 확인합니다。

이 예제는 배열 값 모두가 18보다 큰지 확인합니다:

예제

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

직접 시도해 보세요

이 함수는 3 개의 파라미터를 받아야 합니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

回调 함수가 첫 번째 파라미터(값)만 사용할 때, 다른 파라미터는 생략할 수 있습니다:

예제

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
  return value > 18;
}

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.every()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.some()

some() 메서드는 배열 값 중 일부가 테스트를 통과하는지 확인합니다。

이 예제는 배열 값 중 일부가 18보다 큰지 확인합니다:

예제

var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

직접 시도해 보세요

이 함수는 3 개의 파라미터를 받아야 합니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

모든 브라우저가 지원합니다 Array.some()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

Array.indexOf()

indexOf() 메서드는 배열에서 요소 값을 검색하여 그 위치를 반환합니다。

주석:첫 번째 항목의 위치는 0이고, 두 번째 항목의 위치는 1입니다. 이렇게 계속됩니다。

예제

배열에서 "Apple" 항목을 검색합니다:

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.indexOf()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

문법

array.indexOf(항목, 시작)
항목 검색할 항목이 필요합니다。
시작 선택 사항입니다. 검색을 시작할 위치입니다. 음수 값은 배열 끝에서 해당 위치부터 시작하여 끝까지 검색합니다。

항목을 찾지 못하면Array.indexOf() 찾지 못하면 -1을 반환합니다。

항목이 여러 번 등장하면 첫 번째 등장 위치를 반환합니다。

Array.lastIndexOf()

Array.lastIndexOf()Array.indexOf() 비슷하지만 배열의 끝에서 시작하여 검색합니다。

예제

배열에서 "Apple" 항목을 검색합니다:

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

직접 시도해 보세요

모든 브라우저가 지원합니다 Array.lastIndexOf()Internet Explorer 8 또는 이전 버전을 제외하고는:

9.0

문법

array.lastIndexOf(항목, 시작)
항목 검색할 항목이 필요합니다。
시작 선택 사항. 검색을 시작할 위치입니다. 음수 값은 끝에서부터 시작하는 위치로 검색하여 처음에 도달합니다。

Array.find()

find() 이 메서드는 테스트 함수를 통과한 첫 번째 배열 요소의 값을 반환합니다。

이 예제는 18보다 큰 첫 번째 요소의 값을 (반환) 찾습니다:

예제

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

직접 시도해 보세요

이 함수는 3 개의 파라미터를 받아야 합니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

오래된 브라우저는 지원하지 않습니다 Array.find()다음은 이 방법을 완전히 지원하는 첫 번째 브라우저 버전을 나열합니다:

45 12 25 8 32

Array.findIndex()

findIndex() 이 메서드는 테스트 함수를 통과한 첫 번째 배열 요소의 인덱스를 반환합니다。

이 예제는 18보다 큰 첫 번째 요소의 인덱스를 찾습니다:

예제

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

직접 시도해 보세요

이 함수는 3 개의 파라미터를 받아야 합니다:

  • 항목 값
  • 항목 인덱스
  • 배열 자체

오래된 브라우저는 지원하지 않습니다 Array.findIndex()다음은 이 방법을 완전히 지원하는 첫 번째 브라우저 버전을 나열합니다:

45 12 25 8 32