2014-05-11 2 views
0

배열 내의 일부 값에 변수를 추가해야합니다. 간단히 말해서이 작업을 수행하려고합니다.자바 스크립트 배열 내의 연산자 사용

var a = prompt("Enter either PNG or JPG"); 
var array = ["foo." + a, "bar." + a,"vid.oog"]; 

var x = prompt("Which image to display?"); 
document.getElementById('imge').src=array[x] 

나를 허용하지 않습니다. 그것은 단순히 "undefined"를 반환합니다. 어떤 방법으로도 그것을 할 수 있습니까? 변수를 정의하고 그 변수를 배열에 집어 넣고 싶지 않습니다. 또한 마지막 행 끝에 "+ a"를 추가하는 것만으로 배열의 세 번째 요소가 "vid.oogjpg"또는 "vid.oogpng"가되기 때문에 마지막 행의 끝에 "+ a"를 추가하지 마십시오.

저는 파이썬에서 이것을 할 수 있음을 알고 있습니다. 슬프게도 JS가 아니라.

var array = ["foo","bar","vid.oog"]; // leave them without extension it will be added later. 

을 다음이 할 수 있습니다 :

+1

왜 손 전에 요소를 작성하지 않는 한 다음이 배열에 추가? – agconti

+0

예 : http://jsfiddle.net/2PVLK/2/ – McGarnagle

답변

0

그냥 같이 배열을 선언

array.map(function(x){ 
    return x.indexOf('.') == -1 ? x + "." + a : x; 
}); 
+0

설명대로하면 좋을 것입니다. – user3138189

+0

@ user3138189, 각 항목을 살펴본 다음 확장이 있는지 확인합니다. 그렇지 않으면 사용자가 제공 한 확장을 추가합니다. –