Array Methods

1. Properties

1-1. Array.length

  • 배열의 길이를 반환함
    var clothing = ['shoes', 'shirts', 'socks', 'sweaters'];
    console.log(clothing.length); // => 4
    

2. Methods

2-1. isArray

  • 배열인지 아닌지 검사
  • arguments: 검사할 객체
  • return value: true or false (boolean value)
  • 검사할 객체가 배열이면 true, 배열이 아니면 false를 반환
    Array.isArray([]);  // => true
    Array.isArray();  // => false
    Array.isArray('Array')  // => false
    

2-2. forEach

  • arr.forEach(callback)
  • arguments: element의 길이만큼 반복하는 함수
    • parameters
      • currentElement: 현재 element
      • index: 현재 index
      • array: 배열
  • return value: 없음
  • element마다 함수를 반복해서 실행
var arr = ['shoes', 'shirts', 'socks', 'sweaters'];
arr.forEach(function(element) {
    console.log(element); 
})
/*
shoes
shirts
socks
sweaters
*/
  • *WHAT IS CALLBACK?
    • argument로 넘겨주는 함수(A)
    • 함수(A)를 parameter로 받는 함수(B)가 callback 함수(A)를 즉시 실행할 지, 나중에 실행할 지 결정할 수 있다
function system(callback) {
    callback(); // 실행 가능한 콜백 함수
}

function foo() { 
    console.log('');
}
system(foo);

2-3. map

  • arr.map(callback)
  • arguments: element의 길이만큼 반복하는 함수
    • parameters
      • currentElement: 현재 element
      • index: 현재 index
      • array: 배열
  • return value: callback이 실행되면서 return하는 값들을 모아 새로운 배열(기존의 배열과 똑같은 길이의 다른 배열)
  • callback 내에서 return 필요
var array1 = [1, 4, 9, 16];

// pass a function to map
const map1 = array1.map(x => x * 2);

console.log(map1);
// expected output: Array [2, 8, 18, 32]

2-4. filter

  • arr.filter(callback)
  • arguments: element의 길이만큼 반복하는 함수
    • parameters
      • currentElement: 현재 element
      • index: 현재 index
      • array: 배열
  • return value: 조건을 통과한 element들을 담은 새로운 배열
  • callback내에서 boolean형태의 return 필요
  • 기존 배열에서 조건에 따라 특정 element를 걸러낼 때 유용
var arr = ["a", 0, null, 1, ''];
arr.filter(function(element) {
    return Boolean(element);
}); // => ["a", 1]

2-5. push / pop

2-5-1. arr.push(newElement)

  • arguments: 추가할 element(여러개 가능)
  • return value: 최종 배열의 길이
  • 배열 마지막에 요소를 추가
var animals = ['pigs', 'goats', 'sheep'];

console.log(animals.push('cows'));
/* expected output: 4 */
console.log(animals);
/* expected output: Array ["pigs", "goats", "sheep", "cows"] */

2-5-2. arr.pop()

  • return value: 제거된 element를 반환
  • 배열의 마지막 요소를 제거
var plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];

console.log(plants.pop());
/* expected output: "tomato" */
console.log(plants);
/* expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"] */

2-6. slice

  • arr.slice([begin[, end]])
  • arguments: 처음/마지막 index
  • return value: 새로운 배열 객체 반환
  • index의 범위만큼 element를 추출
  • 배열을 복사(shallow copy)할 때 유용
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);
var copyOfFruits = fruits.slice();
// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']
// copyOfFruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']

https://developer.mozilla.org/ko/docs/Web/JavaScript