我说一个源数组。
[{ id: 1
name: 'one'
...other-properties
children: [{
id: 1.1,
name: 'one.one',
...other-properties
children: [ upto n levels... ]
}]
}]
假设我有一个目标数组。
[{ value: 1
label: 'one'
...other-properties
childs: [{
value: 1.1,
label: 'one.one',
...other-properties
childs: [ upto n levels... ]
}]
}]
上面的源名称和目标名称可以是任意名称。和键可以是任何数字。那么有可能创建通用功能来将源数据映射到目标数据吗?
答案 0 :(得分:1)
const map = ({ id, name, ...rest, children }) => ({ value: id, label: name, ...rest, childs: children.map(map), });
您可以使用对象分解和递归将一个版本映射到另一个版本。