2012-07-18 41 views
0

爲什麼name_Scenario [i]迭代每個單獨的char而不是數組中的每個字符串?簡單遍歷數組

var num_Scenarios; 
var num_Features; 
var name_Scenario = ["Login", "Users", "Yo", "Whatsup", "Diablo 3", "Junglr", "Microsoft", "Another", "Hi", "Anyone", "O", "Happy", "Stuff", "Sleep", "Account"]; 
var desc_Scenario; 

function normalGrid() { 
    $("#tile-bank").remove(); 
    $("#content").append("<div id=\"tile-bank\"></div>"); 
    //Code where your data is received and you run addScenario() per interation 
    //filler global vars that your data will replace 
    num_Scenarios = 15; 
    num_Features = 20; 
    name_Scenario = "Login"; 
    desc_Scenario = "This is a description."; 
    var add_to = $("#tile-bank"); 
    for (var i = 0; i < num_Scenarios; i++) { 
     addScenario(add_to, num_Features, name_Scenario[i], desc_Scenario); 
    } 
+2

不,它不給你'h' – Ibu 2012-07-18 20:01:43

+1

這與jQuery無關(因此編輯) – 2012-07-18 20:01:49

+2

你是否嘗試過這一切?這是[小提琴](http://jsfiddle.net/6n5Gx/),它工作得很好,必須是你正在做的其他事情,將數組變成一個字符串。 – adeneo 2012-07-18 20:02:02

回答

3

name_Scenario = "Login";線,name_Scenario是一個字符串或,換句話說,的char秒的陣列,並且您正在通過char小號迭代。只要刪除該行。

for (var i = 0; i < name_Scenario.length; i++) { 
//changed 'num' to 'name'--^  ^---added '.length' here 
    addScenario(add_to, num_Features, name_Scenario[i], desc_Scenario); 
} 
+0

那麼如何讓它成爲一個字符串數組呢?爲什麼它默認爲字符? – 2012-07-18 20:06:21

+0

@Hubrid查看我的更新 – Engineer 2012-07-18 20:07:43

+0

謝謝,哇,30分鐘後我找不到。 – 2012-07-18 20:09:11

1

您正在重新定義name_Scenario。它曾經是一個數組,但是當你用[i]調用一個索引時,它就變成了一個字符串。另外,你不需要num_Scenarios。你可以使用nameScenario.length(當然它仍然是一個數組!)。

1

您正在過分關注var var name_Scenario; [「Login」,「Users」,「Yo」,「Whatsup」,「Diablo 3」,「Junglr」,「Microsoft」,「Another」,「Hi」,「任何人「,」O「,」開心「,」東西「,」睡眠「,」賬戶「];

然後在做循環之前name_Scenario =「Login」;