在数据库中我有两个列:id
和 value
。我想检查我的 result
中有多少个不同的 id
,我该怎么做?
我试图想出一个解决方案,但我没有比 countDifferentId(){//做一些神奇的计算更成功
结果
如下所示:
[ RowDataPacket {
id: 76561198115203520,
value: 73 },
RowDataPacket {
id: 76561198115029751,
value: 73 }
RowDataPacket {
id: 76561198115702984,
value: 73 },
RowDataPacket {
id: 76561198115203520,
value: 73 } ]
所以countDifferentId()
的结果应该是3
最佳答案
如果你想在 javascript 端完成这项工作,你可以这样做:
const rowDataPackets = [
{
id: 76561198115203520,
value: 73
},
{
id: 76561198115029751,
value: 73
},
{
id: 76561198115702984,
value: 73
},
{
id: 76561198115203520,
value: 73
}
];
function countDifferentId(array){
// Object with key=id to count unique ids and value is true (or whatever)
const uniqueIds = array.reduce((acc, data) => Object.assign(acc, {[data.id]:true}) , {});
// Number of unique ids is the number of keys
return Object.keys(uniqueIds).length;
}
console.log(countDifferentId(rowDataPackets));
关于mysql - 如何计算数组中对象的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48654555/