javascript - Javascript中的多个对象属性分配

标签 javascript object properties three.js

有什么简写形式吗?

object.position.x = position.x
object.position.y = position.y
object.position.z = position.z

object.rotation.x = rotation.x
object.rotation.y = rotation.y
object.rotation.z = rotation.z

感谢您的宝贵时间。

最佳答案

是的,您可以使用 Object.assign()

var obj = {}
var position = {x: 1, y: 2, z: 3}
var rotation = {x: 1, y: 2, z: 3}

obj.position = Object.assign({}, position);
obj.rotation = Object.assign({}, rotation);

console.log(obj)

如果您只想从对象中获取特定属性,您可以使用 map() 创建您的 pick 函数以获取对象数组,然后使用扩展语法分配每个对象。

var obj = {}
var position = {x: 1, y: 2, z: 3}
var rotation = {x: 1, y: 2, z: 3}

function pick(obj, props) {
  return props.map(e => ({[e]: obj[e]}))
}

obj.position = Object.assign({}, ...pick(position, ['x', 'y']));
obj.rotation = Object.assign({}, ...pick(rotation, ['x', 'y', 'z']));

console.log(obj)

关于javascript - Javascript中的多个对象属性分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43436727/

相关文章:

Javascript:JavaScript 对象属性字符串中的特殊字符。

java - 如何将 JavaFX 8 对象绑定(bind)到 java 变量?

objective-c - 在 iOS 中动态更改属性 getter 和 setter

javascript - 有没有办法使用 JavaScript 将数据从 iPhone 应用程序传输到蓝牙芯片?

javascript - 在 Meteor 中发布到客户端之前转换字段

javascript - 将一个数组的数组与一个简单的数组合并

c# - 如何在C++中将对象作为参数传递?

delphi - 深度对象比较 Delphi

python - 在 Python 2.7 中设置列​​表对象的属性

javascript - 如何在 jQuery 中访问当前 DOM 对象(改进代码)