Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分解对象并指定给一行中的另一个对象_Javascript_Javascript Objects - Fatal编程技术网

Javascript 分解对象并指定给一行中的另一个对象

Javascript 分解对象并指定给一行中的另一个对象,javascript,javascript-objects,Javascript,Javascript Objects,有没有一种方法可以在一行中完成以下操作 让person={} 常量{firstName,lastName}=getNames() //还是这个 //const{firstName,lastName}=wait getNames() person.firstName=firstName person.lastName=lastName 我经常在编码时这样做,希望有一条捷径。我看不到任何关于如何在计算机上执行此操作的提示 我尝试了下面的方法,但是,它覆盖了对象中的其他属性 let person={

有没有一种方法可以在一行中完成以下操作

让person={}
常量{firstName,lastName}=getNames()
//还是这个
//const{firstName,lastName}=wait getNames()
person.firstName=firstName
person.lastName=lastName
我经常在编码时这样做,希望有一条捷径。我看不到任何关于如何在计算机上执行此操作的提示

我尝试了下面的方法,但是,它覆盖了对象中的其他属性

let person={age:20}
person={…getNames()}
我认为这也不能很好地用于异步/等待函数,因为它们会返回一个承诺

let person={age:20}
person={…等待getNames()}

您可以为此使用Object.assign。。比如说

let person = { firstName: 'John', lastName: 'Doe', age: 67, //etc... }

let newPerson = Object.assign(person, getNames()) 

console.log(newPerson)

// Expected output: `{ firstName: 'newFirstName', lastName: 'newLastName', age: 67, etc... }` 

您可以在此处查看有关Object.assign的详细信息:

您可以为此使用Object.assign。。比如说

let person = { firstName: 'John', lastName: 'Doe', age: 67, //etc... }

let newPerson = Object.assign(person, getNames()) 

console.log(newPerson)

// Expected output: `{ firstName: 'newFirstName', lastName: 'newLastName', age: 67, etc... }` 

您可以查看有关Object.assign的详细信息:

您可能可以尝试以下操作:

({firstName:person.fistName,lastName:person.lastName}=getNames());

您需要事先将
person
定义为对象。

您可能可以尝试以下方法:

({firstName:person.fistName,lastName:person.lastName}=getNames());

您需要事先将
person
定义为对象。

您想要这样的东西吗?你想要这样的吗?如果
person
不是空对象,该方法是否可以缩放?例如,如果它被定义为
let person={age:20}
,则在运行建议的代码之前。是的。我更新了答案。需要定义对象。如果它有钥匙,它们将被更换。如果它没有键,它们将被添加到其中。如果
person
不是空对象,这种方法是否可以缩放?例如,如果它被定义为
let person={age:20}
,则在运行建议的代码之前。是的。我更新了答案。需要定义对象。如果它有钥匙,它们将被更换。如果它没有密钥,它们将被添加到其中。