new Array
초기화 할 값의 길이를 정할 수 있음
prices = [1,2,3,4,5]
answer = new Array(prices.length)
>>[ <5 empty items> ]
Array.from
초기화할 범위와 값을 정할 수 있다
const arr = Array.from({length: 5}, (v, i) => i); // i(index) 1씩 증가
console.log(arr); // => Array(5) [0, 1, 2, 3, 4]
console.log(arr[0]); // => 0
console.log(arr.length); // => 5
/* 콜백함수의 첫번째 매개변수, v 생략시 undefined 반환 */
const arr = Array.from({length: 5}, (i) => i);
console.log(arr); // => Array(5) [undefined, undefined, undefined, undefined, undefined]
console.log(arr[0]); // => undefined
console.log(arr.length); // => 5
/* console.log()로 v의 값을 확인해보면 undefined가 출력된다. */
const arr = Array.from({length: 5}, (v, i) => {
console.log(v, i)
return i;
});
// => undefined 0
// => undefined 1
// => undefined 2
// => undefined 3
// => undefined 4
즉 Array.form()에 콜백함수의 첫번째 매개변수를 넘겨줘야, 두번째 매개변수로 index를 불러올 수 있다
/* Array.from() 콜백의 첫번째 매개변수는 undfined. */
const arr = Array.from({length: 5}, (undefined, i) => i);
console.log(arr); // => Array(5) [0, 1, 2, 3, 4]
console.log(arr[0]); // => 0
console.log(arr.length); // => 5
Array(length).fill
위보다 손쉽게 length와 인자값 초기화 가능
let prices = [1,2,3,4,5]
let answer = new Array(prices.length).fill(0); //[0, 0, 0, 0, 0]