我想以编程方式构造一个对象数组。我期待的最终结果就是这个
[{"nickname":"xxx"},{"nickname":"yyy"},{"nickname":"zzz"}]
这是我的代码
@tagged_user_array = []
//pingUsers is the array which stored the list or nicknames 'xxx', 'yyy' and 'zzz'
$.each @pingUsers, (index, nick) =>
@tagged_user_array.push(nick)
使用上面的代码,我无法获得预期的结果。我需要修改什么才能获得预期的结果?
答案 0 :(得分:2)
由于您在CoffeeScript中使用CoffeeScript和循环是表达式,因此您可以使用comprehension代替:
pingUsers = ["xxx", "yyy", "zzz"]
tagged_user_array = ({nickname: value} for value in pingUsers)
答案 1 :(得分:1)
试试这个:
var pingUsers = ["xxx", "yyy", "zzz"];
var tagged_user_array = [];
$.each(pingUsers, function(index, value) {
tagged_user_array.push({ "nickname" : value });
});
我不确定为什么你的变量用@
作为前缀,因为这在javascript中无效。