Javascript

[Javascript] 배열 내장 함수

고줭 2022. 4. 4. 17:28
const arr = [1, 2, 3, 4, 5];

for (let i = 0; i < arr.length; i++) {
	console.log(arr[i]);
}

arr.forEach((element) => {console.log(element)});

배열 요소를 각각 출력하는 방법으로 전에 한 반복문을 이용하는 것이 있고 forEach라는 내장 함수를 이용할 수 있음.

 

const arr = [1, 2, 3, 4, 5];
const newArr = arr.map((element) => {
	return element * 2;
});

console.log(newArr); // newArr : 2 4 6 8 10

map은 각 요소를 순회해 연산을 하고 리턴하는 함수

 

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

let number = 3;

console.log(arr.includes(number)); // true

해당하는 값이 배열에 있는지 판별하는 함수로 리턴값은 boolean임. 내부적으로 === 연산자를 사용하기에 타입까지 맞아야 true

 

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

let number = 3;

console.log(arr.indexOf(number)); // 2

해당하는 값이 있으면 인덱스 번호를 리턴 없으면 -1을 리턴

 

const arr = [
	{color: 'red'},
    {color: 'black'},
    {color: 'pink'}
];

console.log(arr.findIndex((element) => element.color === "red")); // 0

indexOf처럼 해당하는 값의 인덱스를 리턴하지만 findIndex는 대상이 객체인 경우 사용.

 

const arr = [
	{color: 'red'},
    {color: 'black'},
    {color: 'pink'}
];

console.log(arr.find((element) => element.color === "red")); // {color: 'red'};

indexOf와 findIndex는 인덱스를 리턴했다면 find는 해당하는 객체의 키와 밸류를 리턴. 

 

const arr = [
	{num: 1, color: 'red'},
    {num: 2, color: 'black'},
    {num: 3, color: 'pink'},
    {num: 4, color: 'red'}
];

let number = 3;

console.log(arr.filter((element) => element.color === "red")); // {num: 1, color: 'red'}, {num: 4, color: 'red'}

filter는 find, findIndex, indexOf와 다르게 해당하는 값을 모두 리턴함

 

const arr = [
	{num: 1, color: 'red'},
    {num: 2, color: 'black'},
    {num: 3, color: 'pink'},
    {num: 4, color: 'red'}
];

console.log(arr.slice(0, 2));	// {num: 1, color: 'red'}, {num:2, color: 'black'}

slice는 start 이상, end 미만을 자르는 것으로 0번 인덱스부터 1번까지 포함해서 리턴하는 함수

 

const arr1 = [
  { num: 1, color: "red" },
  { num: 2, color: "black" },
  { num: 3, color: "pink" }
];

const arr2 = [
  { num: 4, color: "red" },
  { num: 5, color: "green" }
];

console.log(arr1.concat(arr2));

concat은 배열 두 개를 합치는 함수

 

const arr = ['다', '나', '가'];

arr.sort();

console.log(arr); // '가', '나', '다'

sort()는 정렬하는 함수임. 문자열만 정렬하므로 숫자는 해당안됨.

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

const compare = (a, b) => {
  if (a > b) {
    return 1;
  } else if (a < b) {
    return -1;
  } else {
    return 0;
  }
};

numbers.sort(compare);

console.log(numbers); // 1, 2, 3, 4, 5

숫자를 정렬하고 싶을 시 compare같은 비교함수를 만들어 줘야 함. 내림차순으로 바꾸고 싶다면 양수를 음수로 음수를 양수로 바꾸면 됨.

 

 

const arr = ['고줭', '또', '왔네'];

console.log(arr.join()); // 고줭,또,왔네
console.log(arr.join(" ")); // 고줭 또 왔네

join은 각 요소마다 , 를 붙여 리턴. 만약 ,을 바꾸고싶다면 인자값으로 바꿀 문자를 넣어주면 됨

'Javascript' 카테고리의 다른 글

[Javascript] 삼항연산자  (0) 2022.04.04
[Javascript] Truthy & Falsy  (0) 2022.04.04
[Javascript] 반복문  (0) 2022.04.04
[Javascript] 배열  (0) 2022.04.04
[Javascript] 객체  (0) 2022.04.04