有什么简写形式吗?
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/