假设我正在按如下方式分配对象属性:
d.x += d3.event.dx || 0;
d.y += d3.event.dy || 0;
换句话说,属性的赋值方式是一致的。
是否存在简化此键值赋值的方法? Es2015语法很好。
答案 0 :(得分:1)
您可以使用解构来消除重复的点符号。
const { dx, dy } = d3.event;
答案 1 :(得分:1)
您可以使用Object.keys()
,.forEach()
var d = { x: 3, y: 4 }, d3 = { event: { dx: 1, dy: 2 } };
Object.keys(d3.event).forEach(prop => d[prop[1]] += d3.event[prop] || 0);
console.log(d);