Underscore.js代码不起作用 - 给出undefined

时间:2015-07-07 04:14:52

标签: javascript underscore.js

我在jsfiddle上尝试这个代码,我不确定为什么它不起作用:

var utm_cookie_names = ['utm_campaign','utm_source','utm_medium', 'utm_term', 'utm_content'];

var campaign = _.each(utm_cookie_names, function(value) {
    return _.pick({'utm_campaign': 'campaign', 'utm_source': 'source','utm_medium': 'medium','age': '20', 'name': 'ankita'}, value);
});

console.log(campaign);

每次按下跑步时,我的控制台都会一直未定义。知道为什么吗?

1 个答案:

答案 0 :(得分:0)

因为你正在使用_.each

var campaign = _.each(utm_cookie_names, function(value) {
    return _.pick({'utm_campaign': 'campaign',
                   'utm_source': 'source',
                   'utm_medium': 'medium',
                   'age': '20',
                   'name': 'ankita'
    }, value);
});

使用_.filter代替

var campaign = _.filter(utm_cookie_names, function(value) {
    return _.pick({'utm_campaign': 'campaign',
                   'utm_source': 'source',
                   'utm_medium': 'medium',
                   'age': '20',
                   'name': 'ankita'
    }, value);
});

函数_.each不会返回任何内容。

只允许您逐个更改列表中的每个元素。