javascript - 資料處理

笑望灬星辰發表於2020-12-02

嗯, 該場景是產品經理給我一個excel表格裡面有多個國家名
在這裡插入圖片描述

前端需要的資料結構是要展示成鍵值對的形式

形如

{ text: '阿富汗', value: 1 }  // value 值大於1 不重複就行 

我的處理過程

在這裡插入圖片描述

選中一列 複製到 vs code 中(重複直到複製完)

對齊處理 (有些資料可能是不對齊的)

**加粗樣式**
在這裡插入圖片描述

從縮圖這裡也可以看得出來

在這裡插入圖片描述

游標置於前面的資料中 按住 shift + alt (不同編輯器快捷鍵不一樣)

這樣就可以選中多行

在這裡插入圖片描述

然後輸入 # 號 或者其他符號 字母等 一會用來做分割用

在這裡插入圖片描述

游標移動到#號前面 刪掉多餘空格

在這裡插入圖片描述

保證只佔用一行

在這裡插入圖片描述

然後就沒有然後了 邏輯一上 萬事解決

var str =`阿富汗#亞美尼亞#亞塞拜然#巴林#孟加拉國#汶萊#柬埔寨#朝鮮#東帝汶#喬治亞#印度#印度尼西亞#伊朗#伊拉克#以色列#日本#約旦#哈薩克#科威特#吉爾吉斯斯坦#寮國#黎巴嫩#馬來西亞#馬爾地夫#蒙古#緬甸#尼泊爾#阿曼#巴基斯坦#巴勒斯坦#菲律賓#卡達#韓國#沙烏地阿拉伯#新加坡#斯里蘭卡#敘利亞#塔吉克#泰國#土耳其#土庫曼#阿拉伯聯合大公國#烏茲別克#越南#葉門#阿爾及利亞#安哥拉#貝南#波札那#布吉納法索#蒲隆地#喀麥隆#維德角#中非#查德#葛摩#剛果(金)#剛果(布)#象牙海岸#吉布提#埃及#赤道幾內亞#厄利垂亞#衣索比亞#加彭#甘比亞#迦納#幾內亞#幾內亞比索#肯亞#賴索托#賴比瑞亞#利比亞#馬達加斯加#馬拉維#馬裡#茅利塔尼亞#模里西斯#摩洛哥#莫三比克#奈米比亞#尼日#奈及利亞#盧安達#聖多美和普林西比#塞內加爾#塞席爾#獅子山#索馬利亞#南非#南蘇丹#蘇丹#坦尚尼亞#多哥#突尼西亞#烏干達#尚比亞#辛巴威#阿爾巴尼亞#安道爾#奧地利#白俄羅斯#比利時#波斯尼亞和黑塞哥維那#保加利亞#克羅埃西亞#塞普勒斯#捷克#丹麥#愛沙尼亞#芬蘭#法國#德國#希臘#匈牙利#冰島#愛爾蘭#義大利#拉脫維亞#列支敦斯登#立陶宛#盧森堡#馬耳他#摩爾多瓦#摩納哥#黑山#荷蘭#北馬其頓#挪威#波蘭#葡萄牙#羅馬尼亞#俄羅斯#聖馬利諾#塞爾維亞#斯洛伐克#斯洛維尼亞#西班牙#瑞典#瑞士#烏克蘭#英國#安地卡及巴布達#阿根廷#巴哈馬#巴貝多#玻利維亞#巴西#加拿大#智利#哥倫比亞#哥斯大黎加#古巴#多米尼克#多明尼加#厄瓜多#薩爾瓦多#格瑞那達#蓋亞那#牙買加#墨西哥#巴拿馬#祕魯#蘇利南#千里達及托巴哥#美國#烏拉圭#委內瑞拉#澳大利亞#庫克群島#斐濟#吉里巴斯#密克羅尼西亞#紐西蘭#紐埃#巴布亞紐幾內亞#薩摩亞#索羅門群島#湯加#萬那杜`


var arr = str.split("#")
var list = []
var list1 = []
var list2= []
for(var i =0; i<arr.length; i++){
    var obj = {
        text: arr[i],
        value: i+1
    }

    // 這裡做了分三段輸出  因為 vs code 列印陣列過長時 會省略掉 
    if(i<70){
        list.push(obj)
    } else if(i<120){
        list1.push(obj)
    } else {
        list2.push(obj)

    }
}
console.log(list)
console.log(list1)
console.log(list2)

在這裡插入圖片描述

value 我用的是 下標 + 1

題外話

其實工作中很多資料處理場景是可以用程式碼去解決的

畢竟我們是成員員嘛 直接就擼程式碼咯 節約時間不說

效率高 出錯率低

相關文章