js,ts遍歷數(shù)組分組存放json實(shí)現(xiàn)方法,slice函數(shù)的應(yīng)用
?事情是這樣的,昨天的那個(gè)種地系統(tǒng)bug已經(jīng)修復(fù)好并且正常運(yùn)行了,然后就在當(dāng)天半下午我就開(kāi)了新的工程,重構(gòu)背包系統(tǒng),那是我3-4年前寫的代碼了現(xiàn)在再看寫的太垃圾,正好有優(yōu)化重構(gòu)的沖動(dòng),然后我就一直優(yōu)化到了今天下午3點(diǎn)多基本上優(yōu)化完了還改了游戲物品系統(tǒng)分離,修復(fù)到了人物的服裝系統(tǒng)json改進(jìn)點(diǎn)

這個(gè)地方的代碼設(shè)置模型只能應(yīng)用一個(gè)數(shù)組作為服裝的二項(xiàng)配置的配置數(shù)據(jù)生成服裝,而json是用我自研的兔寶的百寶箱引擎從excel表生成json表的工具
這個(gè)地方

這個(gè)類型需要包含json數(shù)組的形式比如
{
? ?"0":[111,222,333,444],
? ?"2":[111,222,333,444]
}
但是我并沒(méi)有設(shè)置過(guò)這種這么特殊要求的數(shù)據(jù)結(jié)構(gòu)類型處理,所以我就得寫一種這樣的類型了
首先我已經(jīng)把要處理的數(shù)據(jù)都放在一個(gè)數(shù)組里面了,然后只需要每4個(gè)分一組然后添加隨機(jī)序列key到j(luò)son里面然后返回寫入json。
我查了一頓百度,最終準(zhǔn)備的實(shí)現(xiàn)方法是:
.slice函數(shù),這個(gè)函數(shù)可以切除頭尾,我只需要遍歷一波就可以了不過(guò)在這之前我需要先確定要遍歷幾波,這個(gè)很簡(jiǎn)單長(zhǎng)度除4向上取整就可以了。

而后面的實(shí)現(xiàn)就是
????????var?arrData:?any?=?line.slice(sign,?line.length)
????????//要處理數(shù)據(jù)的原始數(shù)組
????????var?data?=?{};
????????//處理結(jié)果
????????var?forNum:?number?=?Math.ceil(arrData.length?/?4);
????????//遍歷次數(shù)
????????for?(var?c?=?0;?c?<=?forNum;?c++)?{
????????????data[c]?=?arrData.slice(4?*?c,?4?*?(c?+?1));
????????}
????????return?data;
然后我的工具箱里面就又躺了一個(gè)新的工具類型了