2023-12-18[TIL]

jenna·2023년 12월 18일
0

TIL/WIL

목록 보기
40/59

Array

: Array() 생성자는 새로운 Array 객체를 생성할 때 사용합니다.

Array.isArray(arg) : boolean

  • 주어진 인수가 배열이면 true, 배열이 아니면 false를 반환

Array.from

  • 특정 객체를 변환하여 새로운 배열을 생성
// 문자열은 이터러블이다.
const arr1 = Array.from('Hello');
console.log(arr1); // [ 'H', 'e', 'l', 'l', 'o' ]

// 유사 배열 객체를 새로운 배열을 변환하여 반환한다.
const arr2 = Array.from({ length: 2, 0: 'a', 1: 'b' });
console.log(arr2); // [ 'a', 'b' ]

Array.of

  • 전달된 인수를 요소로 갖는 배열을 생성
// 전달된 인수가 1개이고 숫자이더라도 인수를 요소로 갖는 배열을 생성한다.
const arr1 = Array.of(1);
console.log(arr1); // // [1]

const arr2 = Array.of(1, 2, 3);
console.log(arr2); // [1, 2, 3]

const arr3 = Array.of('string');
console.log(arr3); // 'string'

prototype

Array.fill

  • 배열의 일부를 특정 값으로 채울 때 사용
let arr = [1, 2, 3]
arr.fill(4)                // [4, 4, 4] 모두 4로 채룸
[1, 2, 3].fill(4, 1)             // [1, 4, 4] 1번째 인덱스 부터 쭉 4로 채움
[1, 2, 3].fill(4, 1, 2)          // [1, 4, 3] 1번째에서 2번째 인덱스 전까지 4로 채움

Array.indexOf(searchElement, fromIndex) : number

  • serchElement: 배열에서 찾을 요소
  • fromIndex : 검색을 시작할 인덱스(생략시 배열의 첫 인덱스부터 검색)
  • 해당 요소가 없거나 fromIndex가 배열의 길이보다 크거나 같으면 -1을 반환
  • 중복요소가 있는 경우 인덱스 순서대로 하나를 반환한다
let array = [1, 2, 3, 4, 2];

console.log(array.indexOf(2));   // 결과: 1
console.log(array.indexOf(2, 2));  // 결과: 4
console.log(array.indexOf(5));   // 결과: -1


//배열에 해당 값 존재 여부 판단
let array = [1, 2, 3, 4, 5];

let valueToFind = 3;
if (array.indexOf(valueToFind) !== -1) {
   console.log(valueToFind + " is in the array.");
} else {
   console.log(valueToFind + " is not in the array.");
}

valueToFind = 6;
if (array.indexOf(valueToFind) !== -1) {
   console.log(valueToFind + " is in the array.");
} else {
   console.log(valueToFind + " is not in the array.");
}

Array.concat

  • 인수로 전달된 값들(배열 또는 값)을 원본 배열의 마지막 요소로 추가한 새로운 배열을 반환
const arr1 = [1, 2];
const arr2 = [3, 4];

// 배열 arr2를 원본 배열 arr1의 마지막 요소로 추가한 새로운 배열을 반환
// 인수로 전달한 값이 배열인 경우, 배열을 해체하여 새로운 배열의 요소로 추가한다.
let result = arr1.concat(arr2);
console.log(result); // [1, 2, 3, 4]

// 숫자를 원본 배열 arr1의 마지막 요소로 추가한 새로운 배열을 반환
result = arr1.concat(3);
console.log(result); // [1, 2, 3]

//  배열 arr2와 숫자를 원본 배열 arr1의 마지막 요소로 추가한 새로운 배열을 반환
result = arr1.concat(arr2, 5);
console.log(result); // [1, 2, 3, 4, 5]

// 원본 배열은 변경되지 않는다.
console.log(arr1); // [1, 2]

concat과 push의 차이점

push

  • 원본배열에 직접 변경
  • 원본 배열의 마지막 요소로 추가
  • 성능이 좋지 않음
  • arr.push()을 직접 출력할 때 배열의 길이가 반환됨
//오히려 length를 사용하는게 좋음
const arr = [1, 2]
arr[arr.length] = 3
// arr => [1, 2, 3]

//또는 spread
const arr = [1, 2];
const newArr = [...arr, 3];
// arr => [1, 2, 3]

concat

  • 원본배열을 변경하지 않고 새로운 배열 반환
  • 배열 해체 후 새로운 배열의 마지막 요소로 추가

splice

  • 배열에서 특정 요소를 제거 또는 새요소를 추가하는 기능
  • 제거된 요소들을 새로운 배열로 반환
let array = [1, 2, 3, 4, 5];
let removed = array.splice(2, 2);
console.log(removed);  // 출력: [3, 4]

//그래서 해당 숫자들이 제거되어 있는 배열을 보고 싶다면 그냥 array를 출력해야된다
console.log(array)

그 외 push, pop, shift, reverse, slice, 있지만 알고 있어서 생략

출처
https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Array-%EB%A9%94%EC%86%8C%EB%93%9C-%E2%9C%8F%EF%B8%8F-%EC%A0%95%EB%A6%AC

10진법의 특성

: 10개의 기호(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)를 사용하여 모든 숫자를 표현

  • 각 자리의 숫자는 그 자리의 가중치와 곱해져 그 값이 결정됨 => 가중치는 오른쪽에서 왼쪽으로 갈수록 10의 거듭제곱으로 증가
    ex) 123 숫자는 100, 10, 1의 자리를 나타냄 => 10^2, 10^1, 10^0에 해당하는 자리
  • 어떤 숫자든 10으로 나누면 몫은 원래 숫자에서 가장 오른쪽 숫자(1의 자리 숫자)를 제외한 나머지 부분이고 그 숫자가 나머지가 됨 => 숫자의 자릿수를 분리하거나 조작할 때 유용하게 사용됨
    ex) 123/10의 몫은 12, 나머지는 3
profile
https://github.com/jennaaaaaaaaa

0개의 댓글