from 매서드로 진짜 배열 만들기

susu.J·2020년 11월 18일
0

from 매서드로 진짜 배열 만들기

function addMark() {
	let newData =[];
    
    for (let i=0; i<arguments.length; i++){
    	newData.push(arguments[i] = "!");
    }
  console.log(newData);
}
addMark(1,2,3,4,5); //[ '1!', '2!', '3!', '4!', '5!' ]

오류예시

function addMark() {
	let newData = arguments.map(function(value){
      return value + "!";
    })
    console.log(newData); //오류남!
}
addMark(1,2,3,4,5,6,7,8,9)

오류가 나는 이유?

  • arguments는 function이 아니라고 오류남
    arguments로부터 배열을 만들 수 없다.
    arguments는 배열이 아니기 때문에 map을 돌릴 수 없다.
    배열과 흡사하지만 아니다 그래서 가짜배열을 진짜배열로 바꿔주려면 for문 돌려야되는데 그렇게 하지 않고 from을 쓰면 쉽게 할수 있다.

solution

function addMark() {
  let newArray = Array.from(arguments);
  let newData = newArray.map(function(value){
    return value + "!";
  })
  console.log(newData);
}
addMark(1,2,3,4,5) //[ '1!', '2!', '3!', '4!', '5!' ]
profile
on the move 👉🏼 https://sjeong82.tistory.com/

0개의 댓글