2013-07-15 4 views
0

은 내가 특정 수량을 주문하는 경우 사용할 올바른 가격 지점을 설정을 통해 반복 할 수량 및 가격/가격 휴식을 나타내는 쌍 값자바 스크립트 쌍 값 배열 액세스

1:9,10:8,20:7 

의 배열을 가지고있다.

var qty = parseFloat($("#qtyInput").val()); 
var price_array = $("#sku_price_array" + sel_class).val(); 
var sku_price_array = price_array.split(","); 
for (var i=0; i<sku_price_array.length; i++) { 
    var sku_prices = sku_price_array[i].split(":"); 
    if (qty > sku_prices[i][0]) { 
     alert(sku_prices[i][1]); 
    }; 
}; 

내 경보가 의도 한 값을 나타내지 않습니다.

제가 목표로하는 것은 sku_prices[i][0]에 대한 값 1을 처음 실행하고 sku_prices[i][1]에서 값 9를 경고하는 것입니다.

내 첫 번째 run-through에서 방화 광구가 내 sku_prices [i] [0] 값이 1이지만 경고가 정의되지 않았 음을 보여줍니다.

:

+0

어레이가 실제 예와 비슷하다면 콘솔에 오류 메시지가 표시됩니다. 아니면 실제로 문자열입니까? – Teemu

+1

왜'split'에서 따옴표로 이스케이프 시퀀스를 사용합니까? 그것은 당신의 오류를 일으킬 수 있습니다 – tay10r

+0

'sku_prices'은 이중 배열이 아닙니다 – tay10r

답변

2

sku_prices 2 차원 배열이 아닌 (편집 제거 이스케이프 문자, 감사합니다). [i]을 생략하면 제대로 작동합니다.

+0

대단히 고마워요. 그게 티켓 이었어. 도와 줘서 고마워! – user2187710

+0

@ user2187710 확실한 것. 또한, 내가 말할 수있는 한,'if'와'for' 블록 뒤에 오는 세미콜론은 아무 것도하지 않습니다. 원하는 경우 제거 할 수 있습니다. – tay10r

관련 문제