> Thu Apr 29 2021 10:49:24 GMT+0800 (GMT+08:00) 有时候,我们会遇到一些自己不太擅长的东西,比如某些常见的算法实现: 1. 一堆无序的数字找极限值(最大、最小) 2. 集合运算,常用在数据对比上:单元格区域是否包含(有)某个值;两个单元格区域的差别——取相同项(交集);合并、拆分等等。 3. 字符的拼接、拆分,编程语言和表格内置函数都有提供的。 4. 排序、去重 5. …… 能用现成的方法,就用现成的。是在没有再去研究造轮子。多熟悉 JavaScript 提供的原生函数以及 WPS 表格的函数,可以帮助我们少走些弯路。 1. 了解 JavaScript 提供的原生方法支持: * Math 基础数学计算。 * Date 基础时间计算方法。 * String 字符 * Array 数组 * Number 数字 * …… 2. WPS JSAPI 提供的可用表格函数: * Max * Min * SUm * …… 例子: ```js // 使用JS内置对象 Console.clear() let foo = [1,2,3].includes(2) // 数组是否包含 2 Console.log(foo) // 使用表格内置函数 let MaxNum = WorksheetFunction.Max(1,2,3) // 求最大值 Console.log(MaxNum) ``` > 碰到一时难以解决的难题,可以先找找是否有可用的 API 或者原生的方法。有的人写程序很快且代码简短实用,除了超强的抽象、编程逻辑思维能力,熟悉编程语言和业务 API 也是重要要素。像我就是啰里啰嗦…… ## 现成的第三方库 1. [Lodash](https://lodash.com/),处理数组、JSON结构数据方面的得力助手,真的好用。像包含与否、排序、格式都是能帮得上忙的。 2. [Moment](https://momentjs.com/),处理日期时间方面的JS库,可以简化格式化日期时间、日期时间换算、地域时间日期转换等常规需求。 > 格式化数据方面,最好还是用 WPS 的单元格格式以提高兼容性和后期可转换性。