所以我有一个像这个$('#items-filters input, #items-filters select')
的jQuery对象(一个DOM对象数组)。现在我想从HTML属性名称作为键的这些元素中收集数据。首先要做的是
data = ($(element).val() for element in $('#items-filters input, #items-filters select'))
但是这会返回一个值为["x", "y"]
的常规数组,所以我尝试了这个:
values = for element in $('#items-filters input, #items-filters select')
k = $(element).attr('name')
"#{k}": $(element).val()
返回一个关联数组数组,如[{"name1": "x"}, {"name2": "y"}]
此时我只是采用了副作用循环而不是值返回循环的'传统'js方式,但我真的很喜欢值返回循环的概念。那么有什么方法可以用'CoffeeScript方式'解决这个问题吗?
我的(我希望)临时工作代码:
values = {}
for element in $('#items-filters input, #items-filters select')
k = $(element).attr('name')
values[k] = $(element).val()
(values = {"name1": "x", "name2": "y"}
)