如何根据 JavaScript 中的数据格式化对象数组
How to format Array of Object with respect to the data inside of it in JavaScript
我正在尝试制作一个 Object
的数组,它在一个对象中添加相同的工作日数据,就像如果我们在五个对象中有 weekday:1 那么我们将得到
{...{}, weekDay:1, repeated:5}
这是动态数据我可以用像过滤 weekDay === 1
这样的 hade 代码结果编写代码,然后找到 return 数组长度,但我现在想要的是一个接受这个的函数数据数组和 returns 不会重复同一周的综合数组,并给我重复的数字,如
{...{}, weekDay:1, repeated:5}
我们拥有的数据:
[
{
"weekDay": 1,
"role": "admin"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "creator"
},
{
"weekDay": 6,
"role": "creator"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 34,
"role": "creator"
}
]
检查这是否是您想要的:
const data = [
{
"weekDay": 1,
"role": "admin"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "creator"
},
{
"weekDay": 6,
"role": "creator"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 34,
"role": "creator"
}
];
const map = data.reduce((map, item) => ({ ...map, [item.weekDay]: (map[item.weekDay] || 0) + 1 }), {});
const arr = Object.keys(map).map((key) => ([{ weekDay: key, repeated: map[key] }]));
console.log(arr);
我正在尝试制作一个 Object
的数组,它在一个对象中添加相同的工作日数据,就像如果我们在五个对象中有 weekday:1 那么我们将得到
{...{}, weekDay:1, repeated:5}
这是动态数据我可以用像过滤 weekDay === 1
这样的 hade 代码结果编写代码,然后找到 return 数组长度,但我现在想要的是一个接受这个的函数数据数组和 returns 不会重复同一周的综合数组,并给我重复的数字,如
{...{}, weekDay:1, repeated:5}
我们拥有的数据:
[
{
"weekDay": 1,
"role": "admin"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "creator"
},
{
"weekDay": 6,
"role": "creator"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 34,
"role": "creator"
}
]
检查这是否是您想要的:
const data = [
{
"weekDay": 1,
"role": "admin"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 4,
"role": "creator"
},
{
"weekDay": 4,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 5,
"role": "creator"
},
{
"weekDay": 6,
"role": "creator"
},
{
"weekDay": 5,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "screener"
},
{
"weekDay": 1,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 3,
"role": "creator"
},
{
"weekDay": 2,
"role": "creator"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 2,
"role": "screener"
},
{
"weekDay": 3,
"role": "screener"
},
{
"weekDay": 34,
"role": "creator"
}
];
const map = data.reduce((map, item) => ({ ...map, [item.weekDay]: (map[item.weekDay] || 0) + 1 }), {});
const arr = Object.keys(map).map((key) => ([{ weekDay: key, repeated: map[key] }]));
console.log(arr);