배열 메서드

정태민·2024년 12월 26일
0

정적 메서드

Array.from() 정적 메서드는 순회 가능 또는 유사 배열 객체에서 얕게 복사된 새로운 Array 인스턴스를 생성합니다.

console.log(Array.from('foo'));
// Expected output: Array ["f", "o", "o"]

console.log(Array.from([1, 2, 3], (x) => x + x));
// Expected output: Array [2, 4, 6]

Array.fromAsync() 정적 메서드는 비동기 순회 가능, 순회 가능, 또는 유사 배열 객체에서 얕게 복사된 새로운 Array 인스턴스를 만듭니다. 반환값은 이행 값이 새 Array 인스턴스인 새로운 Promise입니다.

async function fetchData(url) {
  const response = await fetch(url);
  return response.json(); // 가정: 응답이 JSON 형태
}

async function getAllData() {
  const urls = ["https://api.example.com/data1", "https://api.example.com/data2"];
  const dataArray = await Array.fromAsync(urls.map(fetchData));
  console.log(dataArray); // 모든 데이터가 로드된 후 배열 출력
}

Array.isArray() 정적 메서드는 전달된 값이 Array인지 판단합니다.

Array.of() 주어진 인자들로 새로운 배열을 생성하는 정적 메소드입니다. 이 메소드는 주로 배열 리터럴과 비슷하지만, 주로 단일 항목으로 배열을 동적으로 만들때 사용합니다.

인스턴스 메서드

조작 메소드 (Mutator methods): 배열의 내용을 직접 변경합니다.

at(): 배열의 특정 인덱스에 있는 요소를 반환하는 함수입니다. 양수 인덱스는 배열의 앞에서부터 요소를 찾고, 음수 인덱스는 배열의 뒤에서부터 요소를 찾습니다

slice(): 배열의 부분을 복사하여 새 배열을 생성합니다.

includes(): 배열에 특정 요소가 있는지 확인합니다.

indexOf(), lastIndexOf(): 요소의 첫 번째 또는 마지막 인덱스를 찾습니다.

find(), findIndex(): 조건을 만족하는 첫 번째 요소 또는 그 인덱스를 반환합니다.

	const array1 = ['a' , 'b' , 'c' , '', 'd', 'e'];
    const found = array1.find((element) => element === 'a');
    console.log(found);
    // Expected output: a
    
    const findd = (element) => element === 'd';

    console.log(array1.findIndex(findd));
    // Expected output: 4

findLast(), findLastIndex(): 조건을 만족하는 마지막 요소 또는 그 인덱스를 반환합니다.

push(), pop(): 배열 끝에 요소를 추가하거나 제거합니다.

shift(), unshift(): 배열 시작 부분에 요소를 추가하거나 제거합니다.

splice(): 배열에서 요소를 추가, 제거, 교체합니다.

sort(): 배열을 정렬합니다.

reverse(): 배열의 순서를 뒤집습니다.

fill(): 배열의 일정 범위를 정해진 값으로 채웁니다.

join(): 배열의 모든 요소를 문자열로 결합합니다.

toLocaleString(): 지역화된 문자열로 배열을 표현합니다.

toString(): 배열을 문자열로 변환합니다

keys(): 배열의 각 인덱스에 대한 키를 포함하는 이터레이터를 반환합니다.

values(): 배열의 각 인덱스의 값을 반환하는 이터레이터를 생성합니다.

entries(): 배열의 각 인덱스의 키와 값을 쌍으로 포함하는 이터레이터를 반환합니다.

flat(): 중첩 배열을 지정된 깊이까지 평탄화합니다.

flatMap(): 각 요소에 함수를 적용하고 평탄화하여 새 배열을 생성합니다.

toSorted(): 정렬된 새 배열을 생성합니다.

toReversed(): 순서가 반대인 새 배열을 생성합니다.

toSpliced(): splice()와 유사하게 새 배열을 생성합니다.

with(): 지정된 위치의 요소를 교체한 새 배열을 생성합니다.

forEach(): 배열의 각 요소에 대해 함수를 실행합니다.

map(): 각 요소에 함수를 적용한 결과로 새 배열을 생성합니다.

filter(): 조건을 만족하는 요소만으로 새 배열을 생성합니다.

reduce(), reduceRight(): 배열의 각 요소를 하나의 값으로 축약합니다.

const numbers = [1, 2, 3, 4, 5];

function Add(arr) {
  return arr.reduce((acc, cv) => acc + cv);
}

function Multiply(arr) {
	return arr.reduce((acc, cv) => acc * cv);
}

function applyFunctions(array, functions) {
	return functions.reduce((acc, func) => func(array), array);
}

const result = applyFunctions(numbers, [Add, Multiply]);

console.log(result); // Output: 120

function applyFunctionsfix(array, functions) {
    return functions.reduce((acc, func) => func(acc), array);
}

const resultfix = applyFunctionsfix(numbers, [Add, Multiply]);

console.log(resultfix); // Output: 1800 (15 * 120)



every(), some(): 모든 요소 또는 일부 요소가 특정 조건을 만족하는지 검사합니다.

0개의 댓글