CoffeeScript如何使迭代返回一个关联数组?

时间:2016-12-02 10:13:17

标签: arrays loops coffeescript

所以我有一个像这个$('#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"}

0 个答案:

没有答案