2013-11-27 1 views
0

프롬프트의 입력을 배열의 색인으로 사용하고이 번호없이 새 배열을 만드는 방법이 있습니까?Javascript : 프롬프트 입력을 기반으로 배열에서 숫자 색인을 찾을 수 있습니까?

지금까지 다음과 같습니다 있고, 내가 얻을 지수는 -1 무엇 : 당신은 convert the user input to a number 필요

var remNum = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
var input = prompt("pick a number" + " "); 
var position = remNum.indexOf(input); 
alert("this is the index of your input: " + position); 

답변

0
var input = parseInt(prompt("pick a number" + " "), 10); //convert to int! 
var newArray = []; 
for (var i=0; i<remNum.length; i++) { 
    if (i != input) newArray.push(remNum[i]); 
} 

이렇게하면 배열을 반복하고 프롬프트의 색인이없는 모든 숫자를 푸시합니다. 또한 입력 값이 범위를 벗어날 수 없는지 확인합니다. 당신은 정수로 입력을 전환하면

+0

'newArray'를 (를) 만들 때 무슨 점이 있습니까? –

+0

@MattBall OP에서 "이 번호가없는 새 어레이를 만드시겠습니까?" 원래의 배열을 그대로 유지하고 싶다고 생각 했나요? –

+0

사실, 말이됩니다. –

0

:

var position = remNum.indexOf(input); 
remNum.splice(position, 1); 

오류 검사가 독자들에게 연습 문제로 남겨 :

var remNum = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
var input = parseInt(prompt("pick a number" + " ")); 

당신은 요소를 제거하기 위해 splice()를 사용할 수 있습니다.