给定一个类似于[‘a’, ‘b’, ‘c’]
的数组
如何得到一个类似于对象的数据结构
{
current: ‘a’,
next : {
current: ‘b’,
next: {
current: ‘c’
}
}
}
给定一个类似于[‘a’, ‘b’, ‘c’]
的数组
如何得到一个类似于对象的数据结构
{
current: ‘a’,
next : {
current: ‘b’,
next: {
current: ‘c’
}
}
}
const data = ['a', 'b', 'c'];
function createObj([current, ...rest]) {
const result = { current };
if (rest.length) result.next = createObj(rest);
return result;
}
console.log(createObj(data));
[current, ...rest]
是一个单独的解构数组参数。
Array.reduceRight()
创建对象:
const arr = ['a', 'b', 'c']
const obj = arr.reduceRight((acc, o) => ({
current: o,
...acc && { next: acc }
}), null)
console.log(obj)