배열함수

수빈·2022년 3월 17일
0

⭐ Array.shift()
shift()메서드는 배열에서 0 번째 요소를 제거하고 나머지 값들의 위치를 한칸 씩 앞으로 당겨 제거된 값을 반환한다.

let myFish = ['angel', 'clown', 'mandarin', 'surgeon'];

let shifted = myFish.shift();

console.log('myFish after: ' + myFish);
// "제거후 myFish 배열: clown,mandarin,surgeon"

console.log('Removed this element: ' + shifted);
// "제거된 배열 요소: angel"

⭐ Array.slice()
slice()메서드는 어떤 배열의 시작부터 끝까지에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. (원본배열은 바뀌지 않는다.)

arr.slice([begin[,end]])
begin : 0을 시작으로하는 시적점에 대한 인덱스 (음수일경우 배열의 끝에서부터의 길이를 나타낸다.)
end : 추출을 종료할 기준의 인덱스로 end인덱스를 제외하고 추출한다. (음수일경우 배열의 끝에서부터의 길이를 나타낸다.)

let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
let citrus = fruits.slice(1, 3)

// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']

⭐ Array.splice()
splice()메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다.

arr.splice(start[, deleteCount[, item1[,item2[, ...]]]])
start : 배열의 변경을 시작할 인덱스 (음수일경우 배열의 끝에서부터 요소를세어나간다.)
deleteCount : 배열에서 제거할 요소의 수
item1, item2, ... : 배열에 추가할 요소 (생략할경우 요소를 제거하기만 한다.)

let myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
let removed = myFish.splice(3, 1);

// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]

let myFish = ['angel', 'clown', 'drum', 'sturgeon'];
let removed = myFish.splice(2, 1, 'trumpet');

// removed is ["drum"]
// myFish is ["angel", "clown", "trumpet", "sturgeon"]

⭐ Array.filter()
filter메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.

arr.filter(callback(element[, index[, array]])[, thisArg])
callback : 각 요소를 시험할 함수로 3개의 매개변수를 받는다
element : 처리할 현재 요소
index : 처리할 현재 요소의 인덱스
array : filter를 호출한 배열
thisArg : callback을 실행할 때 this로 사용하는 값

function isBigEnough(value) {
  return value >= 10;
}

const filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered 는 [12, 130, 44]

const fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];

//검색 조건에 따른 배열 필터링(쿼리)
const filterItems = (query) => {
  return fruits.filter((el) =>
    el.toLowerCase().indexOf(query.toLowerCase()) > -1
  );
}

console.log(filterItems('ap')); // ['apple', 'grapes']
console.log(filterItems('an')); // ['banana', 'mango', 'orange']

0개의 댓글