2016-12-05 50 views
0

請迭代字面解釋上卡布奇諾environment.Thanks的幫助如何遍歷文字字典中卡布奇諾客觀-J

var userDict = @{@"name": @"Jack",@"secondName": @"Buck",@"name": @"Jacob",@"secondName": @"Smith"}; 

for (var righe in userDict){ 

console.log(righe.name + righe.secondName); 
} 
output NaN 

回答

1

我可能會做這樣的事情:

for (var key in [userDict allKeys]) 
{ 
    console.log(key, userDict[key]); 
} 

但你字典看起來不對;這樣的:

@{ 
    @"name":   @"Jack", 
    @"secondName": @"Buck", 
    @"name":   @"Jacob", 
    @"secondName": @"Smith" 
}; 

將覆蓋namesecondName指數,並導致:

@{ 
    @"name":   @"Jacob", 
    @"secondName": @"Smith" 
}; 

你可能想要一個CPArrayCPDictionary的:

var users = [ 
    @{ 
     @"name":   @"Jacob", 
     @"secondName": @"Smith" 
    }, 
    @{ 
     @"name":   @"Jacob", 
     @"secondName": @"Smith" 
    } 
]; 

然後,如果你遍歷users;您可以爲循環中的每個步驟獲取一個用戶字典,並且可以解決其索引(屬性)問題。 由於兩個CPArrayCPDictionary是tollfree橋聯到他們的本地JavaScript同行,你仍然可以做到這一點:

for (var ix = 0; ix < users.length; ix ++) 
{ 
    var user = users[ix]; 
    console.log(user.name, user.secondName); 
} 

希望這有助於。

+0

這看起來不錯!看起來objective-c和js混雜在一起非常有魅力。 默認情況下,我會寫user.count; )我有點困惑,但我認爲很快我可以帶上我的網絡項目。謝謝。最後一個問題:卡布奇諾有一個自動完成的IDE嗎?謝謝你agin – sundsx

+0

@sundsx:有一些文本編輯器擴展提供了有限的自動完成功能,但我目前還不知道像IDE這樣的完整「智能感知」。我個人主要使用textmate(http://www.macromates.com)和atom(http://atom.io/),他們都有有限的支持。 – Kris