매일 한줄 코딩

9. javascript 배열 내장 함수 본문

develop/javascript

9. javascript 배열 내장 함수

ShipJH 2022. 9. 11. 21:57
9. 배열 내장 함수

9. 배열 내장 함수

1. forEach (순회)

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

// 기존 방식.
for (let i = 0; i <= arr.length; i++) {
  console.log(i);
}


//짧게 forEach 사용.
arr.forEach(function (l) {
  console.log(l);
});

//더 짧게 forEach 사용.
arr.forEach((l) => console.log(l));

2. map (값 새롭게 처리)

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

arr.forEach(function (l) {
  newArr.push(l * 2);
});

console.log(arr); // [1, 2, 3, 4, 5]
console.log(newArr); // [2, 4, 6, 8, 10]


// 위 행위들을 더 간단하게 map 을 사용 하기.
let arr = [1, 2, 3, 4, 5];
const newArr = arr.map(function (l) {
  return l * 2;
});

console.log(newArr); //[2, 4, 6, 8, 10]

3. includes (배열에 포함된지 확인)

let arr = [1, 2, 3, 4, 5];
let number = 2;
let strNumber = "2";

console.log(arr.includes(number)); //true
console.log(arr.includes(number + 5)); //false 7 값은 없으니.
console.log(arr.includes(strNumber)); //false includes 는 === 비교

4. indexOf (배열에 포함되었다면 index 리턴)

없으면 -1 을 리턴한다.

let arr = [1, 2, 3, 4, 5];
let number = 4;
let strNumber = "4";

console.log(arr.indexOf(number)); //3 (0 부터 시작하므로, 4는 arr[3] 이다.)
console.log(arr.indexOf(number + 5)); //-1 7값은 없으니.
console.log(arr.indexOf(strNumber)); //-1  === 비교

5. findIndex (조건에 해당하는 객체내 값의 index를 리턴)

let arr = [
  { name: "배재현" },
  { name: "양준영" },
  { name: "주광현" },
  { name: "신웅재" },
  { name: "신재원" },
	{ name: "배재현" } // 중복되는 값을 찾을때 findIndex 는 가장 먼저 만나는 index를 반환한다.
];

console.log(arr.findIndex((l) => l.name === "배재현")); // 0
console.log(arr.findIndex((l) => l.name === "신재원")); // 4
console.log(arr.findIndex((l) => l.name === "박상우")); // -1

6. find ( 조건에 일치하는 element 통으로 가져오기 )

let arr = [
  { name: "배재현" },
  { name: "양준영" },
  { name: "주광현" },
  { name: "신웅재" },
  { name: "신재원" }
];

console.log(arr.find((l) => l.name === "배재현")); // {name: "배재현"}
console.log(arr.find((l) => l.name === "신재원")); // {name: "신재원"}
console.log(arr.find((l) => l.name === "박상우")); // undefined

7. filter (필터링 해서 가져오기)

let arr = [
  { id: 1, name: "배재현" },
  { id: 2, name: "양준영" },
  { id: 3, name: "주광현" },
  { id: 4, name: "신웅재" },
  { id: 5, name: "신재원" },
  { id: 6, name: "배재현" }
];

console.log(arr.filter((l) => l.name === "배재현")); // (2) [Object, Object]
/*
0: Object
id: 1
name: "배재현"

1: Object
id: 6
name: "배재현"
*/

8. slice (배열 자르기)

arr.slice() ⇒ 배열 그대로 반환 (파라미터 안넘기면)

arr.slice(0,2) ⇒ 0 ~ 1번까지 반환 ( 0부터 2미만까지 )

arr.slice(4) ⇒ 4 ~ 끝까지 반환 (4번부터 배열 끝까지 짜름.)

let arr = [
  { id: 1, name: "배재현" },
  { id: 2, name: "양준영" },
  { id: 3, name: "주광현" },
  { id: 4, name: "신웅재" },
  { id: 5, name: "신재원" },
  { id: 6, name: "배재현" }
];

console.log(arr.slice()); // 반응 없음 기존 arr과 동일

console.log(arr.slice(0, 3));
/*
  { id: 1, name: "배재현" },
  { id: 2, name: "양준영" },
  { id: 3, name: "주광현" },
*/

console.log(arr.slice(4));
/*
  { id: 5, name: "신재원" },
  { id: 6, name: "배재현" }
*/

9. concat (배열 붙이기)

let arr = [
  { id: 1, name: "배재현" },
  { id: 2, name: "양준영" },
  { id: 3, name: "주광현" }
];

let arr2 = [
  { id: 4, name: "신웅재" },
  { id: 5, name: "신재원" },
  { id: 6, name: "배재현" }
];

console.log(arr.concat(arr2)); // arr배열에 arr2를 붙인다.

10. sort (배열 정렬하기)

let numbers = [0, 1, 3, 5, 10, 20, 50, 30];

const sortAsc = (a, b) => {
  if (a > b) {
    return 1;
  }

  if (a < b) {
    return -1;
  }

  return 0;
};

numbers.sort(sortAsc);
console.log(numbers); //[0, 1, 3, 5, 10, 20, 30, 50]

/*
위와 같은 형식으로 정렬하지 않으면 문자열로 인식할 수 있다.
[0, 1, 10, 20, 3, 5, 50, 30] 이런식으로 나열될 수 있다.
*/

11. join(문자열 합치기)

let names = ["배재현", "양준영", "신웅재", "주광현"];

console.log(names.join()); //배재현,양준영,신웅재,주광현
console.log(names.join("")); //배재현양준영신웅재주광현
console.log(names.join(" ")); // 배재현 양준영 신웅재 주광현
console.log(names.join(" 바보")); // 배재현 바보양준영 바보신웅재 바보주광현

'develop > javascript' 카테고리의 다른 글

11. javascript spread 연산자 ( … )  (0) 2022.09.11
10. javascript 비 구조화 할당  (0) 2022.09.11
8. javascript 반복문  (0) 2022.09.11
7. javascript 배열  (0) 2022.09.11
6. javascript 객체  (0) 2022.09.11
Comments