小编Sha*_*hah的帖子

如何将 array.prototype.reduce() 与 TypeScript 一起使用,同时将布尔累加器作为初始值?

我打算在 binarysearch.io 上解决一些算法,并遇到了这个问题:

在此输入图像描述

我用JS解决了这个问题,如下:

class Solution {
    solve(nums) {
        const Hash = {};
        const Cache = {};
        
        for (let val of nums) {
            if (!Hash[val]) {
                Hash[val] = 0;
            }
            Hash[val]++; //implicit else
        }

        const result = Object.values(Hash).reduce((accum, curr) => {
            if (accum && Cache[curr] !== 'unique') {
                Cache[curr] = 'unique';
                return true
            }
            return false;
        }, true);
        
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试用 TypeScript 解决这个问题时(我对 TypeScript 还很陌生),我遇到了可能由 .reduce() 方法引起的编译错误:

class Solution {
    solve(nums: Array<number>): boolean {
        const Hash = {}; …
Run Code Online (Sandbox Code Playgroud)

javascript reduce static types typescript

5
推荐指数
1
解决办法
2138
查看次数

标签 统计

javascript ×1

reduce ×1

static ×1

types ×1

typescript ×1