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);
오류예시
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)