음악, 삶, 개발

동일한 요소를 가진 긴 Array 생성하기 : Array.from({length: 3}, a) 본문

개발 Web/JS

동일한 요소를 가진 긴 Array 생성하기 : Array.from({length: 3}, a)

Lee_____ 2021. 1. 1. 16:20

 

 

< 참고 자료 >

 

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 이다.