3 回答
TA贡献2016条经验 获得超9个赞
map确实是您想要的工具。我可能会将它与回调参数列表中的解构map和结果值中的属性传播结合起来:
const result = raw.map(({x, y}) => ({x, y, ...data}));
实时复制:
const data = {
type: "hello",
point: 1.8
};
const raw = [
{
x: [1, 2],
y: [-1.1, -1.2]
},
{
x: [14, 24],
y: [-1.14, 1.24]
}
];
const result = raw.map(({x, y}) => ({x, y, ...data}));
console.log(result);
请注意,如果data有任何属性的值是对象(data在您的示例中不是),则使用 spread 将仅复制对对象的引用,而不会进行深度复制。所以你所有的result对象都应该共享它们。如果相关,您可以进行深度复制。
TA贡献1893条经验 获得超10个赞
我找到了解决办法;
const data = {type:"hello",point:1.8};
const raw = [{x:[1,2],y:[-1.1,-1.2]},{x:[14,24],y:[-1.14,1.24]}];
const result = raw.map(r => Object.assign(r, data));
console.log(result);
对此方法的一些反馈将不胜感激。寻找现在提供的解决方案。谢谢你们。
添加回答
举报