从中转变的最精确方法是什么?
["access","edit","delete"]
对此
{access:true, edit:true, update:true}
目前我循环分配对象中的每个值,但我想知道lodash是否已经为此提供了功能
解决方法:
LODASH
您可以将它映射到一个条目数组,然后只使用fromLairs lodash
_.fromPairs(input.map(k=>[k, true]))
var input = ["access","edit","delete"];
var res = _.fromPairs(input.map(k=>[k,true]));
console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
ES6
您可以将输入映射到键(您的每个输入)值(true)对象并分配它们.
Object.assign( ...input.map(k=>({[k]: true})))
var input = ["access","edit","delete"]
var res = Object.assign( ...input.map(k=>({[k]: true})));
console.log(res);
如果你想要一个Map对象,你可以将输入映射到条目(如lodash示例中所使用的),并简单地构造一个新的Map
new Map(input.map(k=>[k, true]))