2016-12-05 55 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