음악, 삶, 개발
동일한 요소를 가진 긴 Array 생성하기 : Array.from({length: 3}, a) 본문
< 참고 자료 >
stackoverflow.com/questions/12503146/create-an-array-with-same-element-repeated-multiple-times
개발을 하다보면,
똑같은 요소들이 반복되는 긴 Array 를 만들어야할때가 있다.
2가지 방법이 있다.
이 Array 가 가진것들이 object 들일 경우, 각각이 reference 가 아닌
value 로 이어져야한다는것이 중요하다.
const a = () => ({ v : 100 })
// 3번 반복하자
const b1 = Array.from({length: 3}, a) // 방법1
const b2 = Array(3).fill(null).map(a) // 방법2
b1[0].v = 999
b2[0].v = 888
console.log(b1) // [ { v : 999}, { v : 100}, { v : 100} ]
console.log(b2) // [ { v : 888}, { v : 100}, { v : 100} ]
방법1이 더 좋다!
참고로 a 는 함수 객체지만 굳이 a() 로 하지않아도 된다.
() => a() 는 a 이다.