0

请帮助在卡布奇诺环境中迭代文字字典。谢谢

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

for (var righe in userDict){

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

1 回答 1

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"
};

你可能想要CPArray一个CPDictionary

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

然后如果你循环users; 对于循环中的每个步骤,您都会获得一个用户字典,并且您可以处理它的 ' 索引(属性)。由于两者CPArrayCPDictionary都是免费桥接到它们的本地 javascript 对应物,您仍然可以这样做:

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

希望这可以帮助。

于 2016-12-06T14:40:35.317 回答