【发布时间】:2021-05-17 13:28:51
【问题描述】:
我有一个对象“成员”,它有键,每个键都有对象数组
var members = {
'Father' : [
{
name: 'John Doe'
}
],
'Mother' : [
{
name: 'Jane Doe'
}
],
'Uncles': [
{
name: 'James Doe'
},
{
name: 'Sam Smith'
},
{
name: 'Mark Smith'
}
],
'Aunties': [
{
name: 'Mary Doe'
},
{
name: 'Mae Smith'
}
]
}
我想把它们分成两个数组
var allMembers = [];
var half = Math.ceil(Object.keys(members).length / 2);
var firstHalf = Object.keys(members).splice(0, 4);
var secondHalf = Object.keys(members).splice(4);
allMembers.push(firstHalf)
allMembers.push(secondHalf)
但是allMembers的结果是这样的:
[["Father", "Mother"], ["Uncles", "Aunties"]]
我想让它变成这样的结果:
0: [
'Father' : [
{
name: 'John Doe'
}
],
'Mother': [
{
name: 'Jane Doe'
}
]
],
1: [
'Uncles': [
{
name: 'James Doe'
},
{
name: 'Sam Smith'
},
{
name: 'Mark Smith'
}
],
'Aunties': [
{
name: 'Mary Doe'
},
{
name: 'Mae Smith'
}
]
]
我怎样才能做到这一点?
【问题讨论】:
-
您想要的结果是无效的 JavaScript;数组有数字键;你需要一个数组中的两个对象(例如
[{ Fathers: [], Mothers: [] }, { Uncles: [], Aunties: [] }]) -
是的@HereticMonkey,我怎样才能做到这一点?
-
这能回答你的问题吗? Javascript split object by key
-
不是真的,但@adiga 已经回答了.. 谢谢!
标签: javascript arrays object