能否抑制Office Scripts中“数组方法回调仅可使用箭头函数”的错误?
Office Scripts数组回调限制的解决方案
- 结论:必须重构为
row.some((x) => isUpperCase(x))的形式,无法抑制这个错误。 - 原因:Office Scripts的TypeScript运行环境对数组方法的回调做了强制限制,仅允许直接使用箭头函数作为回调参数,不支持传入预定义的函数标识符(包括箭头函数或传统函数定义的变量)。该限制是运行时层面的硬性约束,目前没有官方提供的错误抑制方式。
重构后的完整代码示例:
const isUpperCase = (str: string) => str.toUpperCase() === str const texts = workbook.getActiveWorksheet().getUsedRange(true).getTexts() const rowsContainingUpperCase = texts.filter((row) => row.some((x) => isUpperCase(x)))
内容的提问来源于stack exchange,提问作者Lionel Rowe
相关产品推荐
相关产品推荐

