前言

在使用Excel的時候,發(fā)現(xiàn)它的“智能填充”功能非常有趣,能夠智能地分析我當(dāng)前的內(nèi)容,然后準(zhǔn)確預(yù)測出我期望得到的值。排除了AI的加成,發(fā)現(xiàn)這個功能其實也可以通過數(shù)學(xué)理論和簡單代碼來實現(xiàn)。經(jīng)過一番折騰,終于用JS實現(xiàn)了大致的功能,然后我把它名為smart-predictor。
項目地址:https://github.com/jrainlau/s...(本地下載)
什么是“智能填充”?
首先我們來看兩張gif圖:
是不是很神奇?假設(shè)我有一組給定的數(shù)據(jù)[1, 3, 'aaa1', 'bbb2'] ,Excel的智能填充能夠給我返回[5, 7, 'aaa2', 'bbb3', 9, 11 'aaa3', 'bbb4']這一組數(shù)據(jù)。
更厲害的是,智能填充不是簡單地對數(shù)據(jù)進(jìn)行遞增,而是會對數(shù)據(jù)進(jìn)行分組,每個分組按照自己的規(guī)則去進(jìn)行遞增,就比如說我們可以從[1, 2, 'x', 3]得到[3, 4, 'x', 4] 。
在明白這些結(jié)論之后,我們就可以去討論它到底是怎么實現(xiàn)的。
Separator
我們用數(shù)組[1, 2, 'a1c', 'a2c']作為例子。當(dāng)我們拿到這樣一個數(shù)組的時候,第一步是要對其進(jìn)行分析,分析數(shù)組內(nèi)每個元素到底是一個數(shù)字,一段字符串,還是別的什么東西。分析完了,就要給他們都標(biāo)注更詳細(xì)的信息,然后把這些信息都組合起來。
比如數(shù)組元素1,可以被處理成下面這個樣子:
{
realValue: 1,
numericValue: 1,
splitParts: 'Number',
index: 0
}
標(biāo)題名稱:利用JS實現(xiàn)一個同Excel表現(xiàn)的智能填充算法-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://chinadenli.net/article36/hjgsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、標(biāo)簽優(yōu)化、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容