Lodash与_.keys有反转吗?

时间:2015-10-12 23:28:16

标签: javascript arrays underscore.js javascript-objects lodash

LoDash是否有一个与_.keys相反的方法,取一个数组并为键赋值和每个值都有一个任意字符串?像这样:

var list = ['a', 'b', 'c']

var object = _.✨unicornize✨ (list, '-')

console.log (object)  // expect {'a': '-', 'b': '-', 'c': '-'}

LoDash是否有内置功能?如果没有,那么这是一种优雅的方式吗?

2 个答案:

答案 0 :(得分:1)

这看起来很像code golf挑战:)

解决方案#1:

_.mapValues(_.invert(list), _.constant('-'))

解决方案#2:

_.zipObject(list, _.fill(new Array(list.length), '-'))

解决方案#3:

_.zipObject(_.map(list, function (v, k) { return [v, '-'] }))
// or, if you would use arrow functions:
_.zipObject(_.map(list, (v, k) => [v, '-']))

答案 1 :(得分:1)

你可以做到

_.mapValues(_.keyBy(list), _.constant('-'))