我有一系列博客对象,如何找到喜欢总数最多的作者?
我尝试过使用for循环,将具有不同作者的每个对象推送到一个单独的数组中,然后计算该数组中点赞的总数。我很难将对象相互比较,并且很难为同一作者获得多个数组。
const blogs = [
{
title: 'First',
author: 'Jane',
likes: 4,
},
{
title: 'Second',
author: 'Joe',
likes: 1,
},
{
title: 'Third',
author: 'Jane',
likes: 7,
},
{
title: 'Fourth',
author: 'Jack',
likes: 1,
},
{
title: 'Fifth',
author: 'Joe',
likes: 5,
}
]
Run Code Online (Sandbox Code Playgroud)
作者的数量不受限制,在此示例中,结果应为:
{
author: 'Jane',
likes: 11,
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个单元测试来检查是否调用了 Analytics 的 .track 方法。由于某种原因,测试不断失败,尽管通过 http 调用该函数确实触发了调用。我不确定我是否嘲笑它错误,或者问题可能是什么?
索引.ts:
import { Request } from "../types"
import { getSecret } from "../src/secrets"
import Analytics from "analytics-node"
const logger = (req: Request) => {
const analytics = new Analytics(<string>process.env.WRITE_KEY);
return analytics.track({
userId: req.userId
});
}
export default logger
Run Code Online (Sandbox Code Playgroud)
索引.test.ts:
jest.mock('analytics-node');
import { Request } from "../types"
import logger from "./index"
import Analytics from "analytics-node"
const mockAnalytics = new Analytics(process.env.WRITE_KEY = 'test');
describe('Logger tests', () => {
it(`Should call analytics.track`, () => {
const …Run Code Online (Sandbox Code Playgroud)