const list = [{ id: '1', name: '苹果' }, { id: '2', name: '香蕉' }, { id: '3', name: '梨子' }]
原数据格式↓
const data = [['1', '2', '3'], ['1'], ['1', '2']]
理想效果↓
const newData = [{ name: '苹果,香蕉,梨子', id: '1,2,3' },
{ name: '苹果', id: '1' },
{ name: '苹果,香蕉', id: '1,2' }]
data就是选中的id,id对应的name在list里面,id和name多个的话用逗号隔开
请教各位大神该如何操作,小弟在这里先谢谢各位大神的解答了,感激不尽!
###const list = [
{ id: "1", name: "苹果" },
{ id: "2", name: "香蕉" },
{ id: "3", name: "梨子" }
];
const data = [["1", "2", "3"], ["1"], ["1", "2"]];
const result = data.map(item => {
return item.reduce((a, b) => {
const { name } = list.find(r => r.id == b) || {};
return {
name: a.name ? `${a.name},${name}` : name,
id: a.id ? `${a.id},${b}` : b
};
}, {});
});
console.log(result);
//转回data
const res = result.map(item => item.id.split(","));
console.log(res);