2017-01-10 22 views
0

我在創建對象並將數據解析到對象時遇到問題。這是我正在使用的代碼。in for loop在對象中添加+1鍵

var json = { }; 

for (i = 0; i < urls.length; i++) { 
     json.number = urls[i]; 
    } 

結果我得到的是

{ 
    "number": "value" 
} 

這是我想獲得(儘可能多的數字,因爲有網址)。

{ 
    "number": "value", 
    "number2": "value2", 
    "number3": "value3" 
} 
+0

你需要更新在循環的每次迭代期間設置的密鑰 – hackerrdave

回答

1

由於您沒有提供urls的內容。

for (i = 0; i < urls.length; i++) { 
      json['number' + i]= urls[i]; 
     } 
+0

這將導致'{'number0':'value','number1':'value2','number2':'value3'}' – hackerrdave

+0

@hackerrdave如果他想把它作爲變量使用,我們仍然不知道變量'number'是什麼,但是在這種方法中,它將有'number0'作爲第一個鍵 – Sandra

0

您應該更新您正在使用的JSON對象的關鍵是:

var json = { }; 

for (i = 0; i < urls.length; i++) { 
    json["number" + i] = urls[i]; 
} 
0

你需要更新你在循環的每次迭代過程中設置的關鍵:

var json = {}; 

for (i = 0; i < urls.length; i++) { 
    if (i > 0) { 
    json['number' + (i + 1)] = urls[i]; 
    } else { 
    json['number'] = urls[i]; 
    } 
} 

請注意,由於您從i = 0開始,因此您需要在將其連接到字符串'number'之前加1。