javascript – 在Lodash中从字符串数组转换为hashmap

从中转变的最精确方法是什么?

["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]))
上一篇:javascript – 获取数组并使用翻转的索引/值创建对象


下一篇:javascript – 如果过滤器函数是异步的,如何使用lodash过滤列表