2012-05-17 25 views
1

我想以编程方式构造对象数组。最终的结果,我希望是这样的如何以编程方式构造对象数组

[{"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) 

通过上面我的代码,我无法得到我预期的结果。为了获得预期的结果,我需要修改哪些内容?

回答

1

试试这个:

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

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

Example fiddle

我不知道你为什么前缀的变量与@,因为这是在JavaScript无效。

+0

的感谢!正是我所需要的=) – Zhen

+0

“@”,缺少括号,缺少'var'和'(...)=>'表示CoffeeScript。 –

2

由于您使用的CoffeeScript和循环是CoffeeScript的表情,你可以使用一个comprehension代替:

pingUsers = ["xxx", "yyy", "zzz"] 
tagged_user_array = ({nickname: value} for value in pingUsers) 

演示:http://jsfiddle.net/ambiguous/w4ugV/1/

+0

超级小调整...删除分号。 :-) –

相关问题