一个将txt文件内容转换为想要的数组数据demo

最近看到了一个拼音猜成语小游戏,突发奇想试图将它改成猜单词的小游戏,小游戏没有后端所有数据都是来自前端,所以需要完整的词库,选取了考研英语词库,但是只在网上搜到了pdf版(是我没用),然后用在线工具转成了txt文件,变成了以下格式

一组英文一组中文这样,中英文行数对照

但是小游戏需要的数据结构是以下这样的(为了少改一点小游戏的代码)

所以自己写了一个demo来转换他们

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>JS获取TXT文件内容</title>
</head>

<body>
    <input type='file' accept='text/plain' onchange='openFile(event)'><br>
    <div id="output"></div>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
    var openFile = function (event) {
        var input = event.target;
        var reader = new FileReader();
        var arr = []

        reader.onload = function () {
            if (reader.result) {
                //显示文件内容
                
                const item =reader.result.split('\n\n')//用两个换行分割每一组数据
                console.log(item)
                for(let eni = 0;eni<item.length;eni++){
                    console.log('eni',eni%2)
                    //双数为英文
                    if(eni%2==0){
                        var i = arr.length
                        console.log('ens',item[eni].split('\n'))
                        item[eni].split('\n').forEach(en => {

                    let obj = [[en], [en], ['1', '2', '3', '4'], [en]]
                    arr.push(obj)

                   


                })
                    }else{
                 //单数为中文       
                let zns = item[eni].split('\n')
                console.log('zns',zns)
                // zns.pop()
                zns.forEach(zn=>{
                    console.log(zn)
                     // 中文
                    arr[i].push(zn) 
                      i++
                })
              
                    }
                    
                }
                    
                
                

                $("#output").html(JSON.stringify(arr));
                // console.log(JSON.stringify(arr))
            }
        };
        reader.readAsText(input.files[0]);
    };
</script>

</html>

 一键转换成功,很完美,需要注意的点是txt文件最后一行要换行,因为使用两个换行符分割,否则报错

小游戏已完成,下面是地址,用gitee pages部署

猜猜单词-考研版:猜猜单词

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值