我有以下数组:
const ids = ["1234", "5678", "0987", "6543"]
我需要一个带有lodash的函数返回:
const result = {"1234": { workId: null }, "5678": { workId: null }, "0987": { workId: null }, "6543": { workId: null }}
使用lodash方法的方法是什么?
感谢您的帮助
答案 0 :(得分:1)
免责声明:lodash
对此非常过分。
您可以使用reduce
(link to doc) ...或其plain JS equivalent。
const ids = ["1234", "5678", "0987", "6543"]
console.log(ids.reduce((acc, key) => Object.assign(acc, { [key]: { workId: null } }), {}));
请注意,我使用ES2015的一项功能动态设置要添加到累加器的新密钥的名称。
答案 1 :(得分:1)
这是使用lodash#invert
和lodash#mapValues
const result = _(ids)
.invert()
.mapValues(() => ({ workId: null }))
.value();
const ids = ["1234", "5678", "0987", "6543"];
const result = _(ids)
.invert()
.mapValues(() => ({ workId: null }))
.value();
console.log(result);

.as-console-wrapper{min-height:100%;top:0}

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
&#13;