Lodash _.map + console.log 打印迭代器

Lodash _.map + console.log prints the iterator

我在 javascript

中偶然发现了这种意外行为
'use strict';
var _ = require('lodash');
_.map([1, 2, 3], function(x){console.log(x); });
_.map([1, 2, 3], console.log);

两次调用 map 的行为不同。

第一个是逐行打印 1、2、3,而后者对 map 的调用打印 map 产生的迭代器。

第一个调用有没有更优雅的写法? (不使用 es6 => 运算符)

您可以使用 ary 来限制传递给 console.log 的参数数量。

_.map([1, 2, 3], _.ary(console.log, 1))