Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用下划线函数将列表转换为具有默认值的字典?_Javascript_Underscore.js - Fatal编程技术网

Javascript 如何使用下划线函数将列表转换为具有默认值的字典?

Javascript 如何使用下划线函数将列表转换为具有默认值的字典?,javascript,underscore.js,Javascript,Underscore.js,如何使用下划线.js函数将列表转换为具有默认值的字典? 我可以用下划线将下面的代码压缩到更少的行吗 l = [1, 2, 3]; d = {}; for (var i in l){ d[l[i]] = 'defaut value'; } 也许是这样的: var l = [1, 2, 3]; var d = _.object(_.map(l, function(x) { return [x, 'default value']; })); 或者这个: var l = [1, 2, 3]; v

如何使用下划线.js函数将列表转换为具有默认值的字典? 我可以用下划线将下面的代码压缩到更少的行吗

l = [1, 2, 3];
d = {};
for (var i in l){
  d[l[i]] = 'defaut value';
}
也许是这样的:

var l = [1, 2, 3];
var d = _.object(_.map(l, function(x) { return [x, 'default value']; }));
或者这个:

var l = [1, 2, 3];
var d = _.reduce(l, function(m, x) { m[x] = 'default value'; return m; }, {});
也许是这样的:

var l = [1, 2, 3];
var d = _.object(_.map(l, function(x) { return [x, 'default value']; }));
或者这个:

var l = [1, 2, 3];
var d = _.reduce(l, function(m, x) { m[x] = 'default value'; return m; }, {});
也许是这样的:

var l = [1, 2, 3];
var d = _.object(_.map(l, function(x) { return [x, 'default value']; }));
或者这个:

var l = [1, 2, 3];
var d = _.reduce(l, function(m, x) { m[x] = 'default value'; return m; }, {});
也许是这样的:

var l = [1, 2, 3];
var d = _.object(_.map(l, function(x) { return [x, 'default value']; }));
或者这个:

var l = [1, 2, 3];
var d = _.reduce(l, function(m, x) { m[x] = 'default value'; return m; }, {});

[1,2,3].map(函数(a){this[a]='default'},d={})@丹达维斯:为什么
map
?为什么
this
而不是简单地
d
?使用this比使用closuring d运行得更快,并且避免了将逻辑硬编码到数据中。forEach也可以工作,甚至更快,我只是习惯于使用map(),以便在构建时使用return记录迭代。我将“热循环”转换为forEach,一旦它被测试,或者如果我可以提前退出的话…[1,2,3].map(函数(a){this[a]='default'},d={})@丹达维斯:为什么
map
?为什么
this
而不是简单地
d
?使用this比使用closuring d运行得更快,并且避免了将逻辑硬编码到数据中。forEach也可以工作,甚至更快,我只是习惯于使用map(),以便在构建时使用return记录迭代。我将“热循环”转换为forEach,一旦它被测试,或者如果我可以提前退出的话…[1,2,3].map(函数(a){this[a]='default'},d={})@丹达维斯:为什么
map
?为什么
this
而不是简单地
d
?使用this比使用closuring d运行得更快,并且避免了将逻辑硬编码到数据中。forEach也可以工作,甚至更快,我只是习惯于使用map(),以便在构建时使用return记录迭代。我将“热循环”转换为forEach,一旦它被测试,或者如果我可以提前退出的话…[1,2,3].map(函数(a){this[a]='default'},d={})@丹达维斯:为什么
map
?为什么
this
而不是简单地
d
?使用this比使用closuring d运行得更快,并且避免了将逻辑硬编码到数据中。forEach也可以工作,甚至更快,我只是习惯于使用map(),以便在构建时使用return记录迭代。我将“热循环”转换为forEach,一旦它被测试,或者如果我可以提前退出,则将其转换为某些/每隔一次…同样正确:var d=u1;(l).reduce(函数(m,x){m[x]='default value';返回m;},{});您还可以将
..chain
与第一个函数一起使用,
..chain().map(…).object().value()
:同样正确:var d=.\ul.reduce(函数(m,x){m[x]='default value';返回m;},{});您还可以将
..chain
与第一个函数一起使用,
..chain().map(…).object().value()
:同样正确:var d=.\ul.reduce(函数(m,x){m[x]='default value';返回m;},{});您还可以将
..chain
与第一个函数一起使用,
..chain().map(…).object().value()
:同样正确:var d=.\ul.reduce(函数(m,x){m[x]='default value';返回m;},{});您还可以将
..chain
与第一个一起使用,
..chain().map(…).object().value()