我正在尝试解决此合并对象的顺序。一个对象和一个B对象组合为一个对象,但是请注意,顺序基于id。
我有两个对象和合并对象,但是我想根据ID进行排序。
输出应该是:
[
{
"id":1,
"name":"apple"
},
{
"id":2,
"name":"apple2"
},
{
"id":3,
"name":"apple3"
},
{
"id":4,
"name":"apple4"
}
]
我的代码:
var a = [{
"id": 1,
"name": "apple"
},
{
"id": 2,
"name": "apple2"
},
]
var b = [{
"id": 3,
"name": "apple3"
},
{
"id": 4,
"name": "apple4"
}
]
const result = Object.assign(a, b);
console.log(result)
答案 0 :(得分:2)
使用传播语法合并到一个数组中,然后按id
属性排序:
var a = [{
"id": 1,
"name": "apple"
},
{
"id": 2,
"name": "apple2"
},
]
var b = [{
"id": 3,
"name": "apple3"
},
{
"id": 4,
"name": "apple4"
}
]
const result = [...a, ...b]
.sort((a, b) => a.id - b.id);
console.log(result)
(如果您事先知道两个输入数组都已经有其ID,并且只需要将较大的块放在一起,那么就可以省去.sort
,而只散布{{1} },然后传播a
)