当ES6中存在结构相似性时,减少分配对象属性的冗余
Make assigning object properties less redundant when there's structural similarities in ES6
假设我要按如下方式分配对象属性:
d.x += d3.event.dx || 0;
d.y += d3.event.dy || 0;
也就是说,属性的赋值方式是一致的。
是否有一种简单的方法来简化这个键值分配?
您可以使用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);
可以使用解构来消除重复的点符号。
const { dx, dy } = d3.event;
相关文章:
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- JS [ES5] 如何使用资源库和获取器分配对象
- 正在破坏分配.分配对象和它's的孩子在两个不同的变量中
- 我们是否可以安全地从套接字参数的回调中分配对象引用
- 如何在 ng-repeat 中按键分配对象数组
- 在 jQuery/JavaScript 中动态分配对象属性以通过 ajax 发布
- 在Javascript中分配对象:浅拷贝或深度拷贝
- 在JavaScript中分配对象属性会以一种奇怪的方式更改对象
- 自动分配对象数字键
- React:如何分配对象道具的默认属性
- Lodash重新分配对象数组来构建树
- ES6/7中选择性地分配对象属性
- 如何使用“闭包”异步分配对象
- 无法使用sessionStorage分配对象
- 在数组javascript中分配对象
- 当ES6中存在结构相似性时,减少分配对象属性的冗余
- AngularJS:重新分配对象与替换控制器中的对象
- Angular$scope未按预期工作.正在尝试在控制器$scope和$scope.function作用域中分配对象值
- 在js中取消分配对象字面值使用的内存