将格式化器json还原为字符串

nzkunb0c  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(137)

帮我解决问题
我想展示一下这个格式:

true: 2,3,4
false: 5

我正在使用sequelize,我不知道如何正确地输出json
我看到下面的代码。但是它不工作。我添加了

const test = {
    one: {
        'user': '2',
        'status': '1', block: {
            'ok': 'false'
        }
    },
    two: {
        'user': '3',
        'status': '1', block: {
            'ok': 'false'
        }
    },
    three: {
        'user': '4',
        'status': '1', block: {
            'ok': 'false'
        }
    },
    five: {
        'user': '5',
        'status': '0', block: {
            'ok': 'true'
        }
    }
}
const grouped = test.reduce((groups, test) => ({
    ...groups,
    [test.user]: [...(groups[test.user] || []), test.block.ok]
}), {});
const text = Object.entries(grouped).map(([key, values]) => `${key}: ${values}`).join('\n');
console.log(text)
vwhgwdsa

vwhgwdsa1#

我相信这就是你想要达到的目的。

true: 5
false: 2,3,4

无法缩减该对象,因为它是Array原型。您需要首先将test对象转换为包含Object.valaues的数组,然后按truefalse对它们进行分组

const test = {
  one: {
    user: '2',
    status: '1',
    block: {
      ok: 'false',
    },
  },
  two: {
    user: '3',
    status: '1',
    block: {
      ok: 'false',
    },
  },
  three: {
    user: '4',
    status: '1',
    block: {
      ok: 'false',
    },
  },
  five: {
    user: '5',
    status: '0',
    block: {
      ok: 'true',
    },
  },
};
const grouped = Object.values(test).reduce(
  (groups, group) => {
    groups[group.block.ok].push(group.user);
    return groups;
  },
  { true: [], false: [] },
);
const text = Object.entries(grouped)
  .map(([key, values]) => `${key}: ${values}`)
  .join('\n');
console.log(text);

相关问题