我有2个对象。
const filters = { name: "NAME" };
const pages = { sort: "SORT" };
需要将它们组合在一起,但结果应类似于
{
filters: { name: "NAME" }
pages: {sort: "SORT"}
}
使用concat或传播操作符
{
name: "NAME",
sort: "SORT"
}
如何组合它们并保留键(过滤器,页面)?
答案 0 :(得分:2)
看不到你的意思,像魅力一样工作:
const a = { filters: { name: "NAME" }};
const b = {pages: {sort: "SORT"}};
const x = {...a,...b}
console.log(x);
答案 1 :(得分:1)
您只需要将变量filters
和pages
包装在{}
内,例如:
const filters = { name: "NAME" }
const pages = { sort: "SORT" }
let result = { ...{filters}, ...{pages} }
console.log(result)
请注意,在result
内部,我们实际上正在创建一个键为filters
的新对象,但是由于新对象的键和值相同,因此我们可以在此处使用对象简写语法喜欢:
const filters = { name: "NAME" }
const obj1 = { filters: filters }
console.log( obj1 )
const obj2 = { filters }
console.log( obj2 )
您可以在上面的演示obj1
和obj2
中看到完全相同的结果。因此我们可以使用:
{ ...{filters}, ...{pages} }
代替:
{ ...{ filters: filters }, ...{ pages: pages } }