不能将类型“void”分配给类型“T[]”

image.png

image.png

type MyFilter2 = {
    <T>(array: T[], f: (t: T) => boolean): T[]
  }
  const myFilter2: MyFilter2 = (array, f) => {
    let result = []
    for(let i =0;i<array.length;i++){
      const item = array[i]
      if(f(item)){
        result.push(item)
      }
    }
  }
  myFilter2(names, (item) => item.name.startsWith('b'))

tsconfig.js

{
  "compilerOptions": {
    "lib": ["ES2015"],
    "module": "CommonJS",
    "outDir": "dist",
    "sourceMap": true,
    "strict": true,
    "target": "ES2015"
  },
  "include": ["src"]
}

package.json

{
  "devDependencies": {
    "@types/node": "^16.7.4",
    "tslint": "^6.1.3",
    "typescript": "^4.4.2"
  }
}
阅读 5.1k
1 个回答

image.png

你这 filter 里啥也没返回啊,不应该在最后 return result 么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题