以下TypeScript可以工作:
const carsAndTrucks = { cars: [], trucks: [] };
const { cars, trucks } = mapDealerInventory();
carsAndTrucks.cars = cars
carsAndTrucks.trucks = trucks
console.log(carsAndTrucks)
function mapDealerInventory() {
return {cars: [1,2], trucks:['a', 'b']}
}
但是,是否有一种方法可以避免仅为了破坏
mapDealerInventory()
的返回值而设置新变量的方法?我希望这是可能的:{ carsAndTrucks.cars, carsAndTrucks.trucks } = mapDealerInventory()
但出现错误“意外的令牌=“
因此,如果您首先声明一个具有其属性类型的对象,那么从在对象(或数组)中返回其值的函数中设置这些属性的最干净的方法是什么?
最佳答案
使用Object.assign()可以在一个对象上设置多个字段:
const { cars, trucks } = mapDealerInventory();
Object.assign(carsAndTrucks, { cars, trucks });
或者,如果不需要其他任何
cars
和trucks
变量,并且mapDealerInventory()
仅返回以下两个字段:Object.assign(carsAndTrucks, mapDealerInventory());
carsAndTrucks
将保留所有其他属性,并且cars
和trucks
将被更改。