Jquery 如何以编程方式构造对象数组

Jquery 如何以编程方式构造对象数组,jquery,arrays,coffeescript,Jquery,Arrays,Coffeescript,我想以编程方式构造一个对象数组。我期待的最终结果是这样的 [{"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) => @tagg

我想以编程方式构造一个对象数组。我期待的最终结果是这样的

[{"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)
使用上面的代码,我无法获得预期的结果。为了获得预期结果,我需要修改哪些内容?

尝试以下操作:

var pingUsers = ["xxx", "yyy", "zzz"];
var tagged_user_array = [];

$.each(pingUsers, function(index, value)  {
    tagged_user_array.push({ "nickname" : value });
});


我不知道为什么在变量前面加上
@
,因为这在javascript中是无效的。

因为您使用的是CoffeeScript,而循环是CoffeeScript中的表达式,所以可以改用:


演示:

The
@
s,缺少括号,缺少
var
,和
(…)=>
表示CoffeeScript。超小调整。。。删除分号。:-)
pingUsers = ["xxx", "yyy", "zzz"]
tagged_user_array = ({nickname: value} for value in pingUsers)