前言
创新互联建站成立于2013年,先为巴中等服务建站,巴中等地企业,进行企业商务咨询服务。为巴中企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在使用Excel的时候,发现它的“智能填充”功能非常有趣,能够智能地分析我当前的内容,然后准确预测出我期望得到的值。排除了AI的加成,发现这个功能其实也可以通过数学理论和简单代码来实现。经过一番折腾,终于用JS实现了大致的功能,然后我把它名为smart-predictor。
项目地址:https://github.com/jrainlau/s...(本地下载)
什么是“智能填充”?
首先我们来看两张gif图:
是不是很神奇?假设我有一组给定的数据[1, 3, 'aaa1', 'bbb2']
,Excel的智能填充能够给我返回[5, 7, 'aaa2', 'bbb3', 9, 11 'aaa3', 'bbb4']
这一组数据。
更厉害的是,智能填充不是简单地对数据进行递增,而是会对数据进行分组,每个分组按照自己的规则去进行递增,就比如说我们可以从[1, 2, 'x', 3]
得到[3, 4, 'x', 4]
。
在明白这些结论之后,我们就可以去讨论它到底是怎么实现的。
Separator
我们用数组[1, 2, 'a1c', 'a2c']作为例子。当我们拿到这样一个数组的时候,第一步是要对其进行分析,分析数组内每个元素到底是一个数字,一段字符串,还是别的什么东西。分析完了,就要给他们都标注更详细的信息,然后把这些信息都组合起来。
比如数组元素1,可以被处理成下面这个样子:
{ realValue: 1, numericValue: 1, splitParts: 'Number', index: 0 }