2016-01-22 105 views
2
for(var i=0; countn=dropDownValues.length, i<countn; i++){ 
     if (name == dropDownValues[i].id) { 
      var address = dropDownValues[i].shipTo; 
      var array = new Array(); 
      array = address.split(","); 
      alert(array.length + " array length") 
      for(var n=0; countn=array.length, n<countn; i++){ 
       alert("in the function loop"); 
       alert(array[n]); 
      } 
     } 
    } 

在我的函數的這部分中,它似乎一直到達address.split(","),但沒有更進一步。我添加了一個警報來查看長度,但它不返回任何內容。拆分逗號分隔值並將它們添加到數組中

什麼可能是錯的?我是積極的address變量具有像「一,二」分配的值,但它沒有得到拆分。

+0

如何在分割之前執行console.log(address)以確保實際上有要分割的東西? –

+3

檢查你的['for'循環](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) – Andreas

+0

你可以改變你的for循環爲'for(var i = 0;我

回答

0

我分配給地址的值不是字符串。我需要在值上使用String()以使string.split()正常工作

+0

上面的代碼仍然不能用於... – epascarello

2

您有一個錯字。 arr[i]應該是array[i]

3

在這兩個你的循環,你有一個問題

for(var i = 0; countn = array.length, i < countn 

是錯誤的;

應該

for(var i = 0, countn = array.length; i < countn; 

下一個問題是你有i循環和內循環,重新定義i

for (var i = 0; countn = dropDownValues.length, i < countn; i++) { 
    ... 
    for (var i = 0; countn = array.length, i < countn; i++) { 

兩個迴路不能使用icountn

var count1 = dropDownValues.length; 
for (var i = 0; i < count1; i++) { 
    ... 
    var count2 = array.length; 
    for (var j = 0; j < count2; j++) { 
+0

第一個「問題」不是錯誤(但令人困惑和低效)。 [逗號運算符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator)將評估所有以逗號分隔的表達式並返回最後一個表達式的值。 – cybersam

+0

@Teemu。請解釋。 – cybersam

+0

@epascarello我對循環進行了更改,並添加了一個警報來查看我的數組是否有長度。原來它不是。我分裂的價值肯定有2個逗號分開的值應該被分割。我可以輸出它預分割 – AlexF11