[英]Lodash convert array to object
将数组转换为对象,输出应与键和值相同。
示例数组:(我的输入结构)
var a = [1,2,3,4,5];
我需要这种输出结构:
{
'1': 1,
'2': 2,
'3': 3,
'4': 4,
'5': 5
}
你不需要一个库,只需一个标准的reduce :
let obj = [1,2,3,4,5].reduce((o,k)=>(o[k]=k,o), {})
使用lodash的_.keyBy()
:
const result = _.keyBy([1, 2, 3, 4, 5]); console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
您可以映射具有相同键和值的对象,并将所有对象分配给对象。
var array = [1, 2, 3, 4, 5], result = Object.assign({}, ...array.map(k => ({ [k]: k }))); console.log(result);
我在这里使用reduce
const listToObject = list => list.reduce((obj, key) => { return { ...obj, [key]:key } }, {}) console.log(listToObject([1,2,3,4,5]))
您可以将Object.fromEntries()
与Array.map()
:
var a = [1,2,3,4,5]; console.log( Object.fromEntries(a.map(v => [v, v])) )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.