2017-05-23 2 views
0

사용자가 제공 한 여러 요소로 Array를 채우려고합니다. 프롬프트 창으로이 작업을하고 있습니다. 그러나 코드가 실행되지 않고 9 행에서 다음과 같이 오류가 발생합니다.javascript : undefined의 'push'속성을 읽을 수 없습니다.

잡히지 않은 TypeError : fillArrayWithNumberOfElements (9 행)에서 정의되지 않은 'push'속성을 읽을 수 없습니다.

나는 온라인으로 답을 찾았지만 배열이 제대로 선언되지 않았다는 것을 모두 지적하고있다. 물론 나는 내 확신이다.

도움을 주시면 감사하겠습니다. fillArrayWithANumberOfElements에서

var emptyArray = []; 

function askInput() { 
    return (prompt("Please enter a number: ")); 
} 

function fillArrayWithANumberOfElements(array, numberOfElements){ 
    for(var i = 0; i < numberOfElements; i++){ 
     array[i].push(askInput()); 
    } 
    return array; 
} 

fillArrayWithANumberOfElements(emptyArray, 5); 
+2

배열 [i]는 배열이 아니므로 푸시 메소드가 정의되어 있지 않습니다. – James

답변

3

, array 배열하지 array[i]이다.

array[i] = askInput(); 
0

pusharray 유형의 프로토 타입에 부착 된 기능입니다 : 그래서 밀어, 당신이 사용 할당을 좋아하는 다른 방법이 아닌 경우

// Not this 
array[i].push(askInput()); 

array.push(askInput()); 

를 사용합니다. 배열 내의 특정 요소에 액세스하고 있습니다.

관련 문제