Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const getRandom = (min, max) => {
- return parseInt(Math.random() * (max - min) + min);
- }
- const cache = [];
- const generateData = (min, max) => {
- const time = cache[getRandom(min,parseInt(max/10))] ? cache[getRandom(min,parseInt(max/10))] : (new Date().getTime() + getRandom(min,parseInt(max/10))).toString();
- return {
- _id: getRandom(min, max),
- is_echo: getRandom(min, max) % 2 === 0 ? false : true,
- page_id: getRandom(min, max),
- time: time,
- }
- }
- // const origin = [
- // { _id: 6, is_echo: false, page_id: 4, time: '1651080432355' },
- // { _id: 2, is_echo: true, page_id: 4, time: '1651080432355' },
- // { _id: 4, is_echo: false, page_id: 5, time: '1651080432355' },
- // { _id: 3, is_echo: false, page_id: 9, time: '1651080432355' },
- // { _id: 2, is_echo: true, page_id: 3, time: '1651080432355' }
- // ];
- const origin = [];
- const originLength = 100;
- const min = 1;
- const max = 10;
- for (let i = 0; i < originLength; i++) {
- origin.push(generateData(min, max));
- }
- console.log(origin);
- const temp = {}
- const result = [];
- origin.map((originItem) => {
- if (!originItem.time) {
- return;
- }
- if (!temp[`${originItem.time}-${originItem.page_id}`]) {
- temp[`${originItem.time}-${originItem.page_id}`] = {
- time: originItem.time,
- page_id: originItem.page_id,
- num_echo_true: originItem.is_echo === true ? 1 : 0,
- num_echo_false: originItem.is_echo === false ? 1 : 0,
- }
- } else {
- if (originItem.is_echo) {
- temp[`${originItem.time}-${originItem.page_id}`].num_echo_true++;
- } else {
- temp[`${originItem.time}-${originItem.page_id}`].num_echo_false++;
- }
- }
- temp[`${originItem.time}-${originItem.page_id}`].total_echo = temp[`${originItem.time}-${originItem.page_id}`].num_echo_true + temp[`${originItem.time}-${originItem.page_id}`].num_echo_false;
- });
- Object.keys(temp).map((tempKeyItem) => {
- result.push(temp[tempKeyItem]);
- });
- console.log(result);
Advertisement
Add Comment
Please, Sign In to add comment