From 64223e9c98e41059c5bc7ca959a921baca962e0e Mon Sep 17 00:00:00 2001 From: iotcat Date: Sun, 19 Jul 2020 12:06:09 +0800 Subject: [PATCH] optimize sort web --- src/public/index.html | 26 +++++++++++++++++++------- src/server.js | 2 +- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/public/index.html b/src/public/index.html index 02d60c3..19e8348 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -145,7 +145,7 @@ data = []; - $.get('./getData/?email='+cookie.get('email'), function(res){ + $.get('./getData/?type=obj&email='+cookie.get('email'), function(res){ if(res.code != 200){ alert(res.message); }else{ @@ -157,18 +157,30 @@ data = []; iter = 0; sentence = ''; + +var sort = function(){ + + data = data.sort(function(){Math.random() - 0.5}); + data = data.sort(function(o1, o2){ + return (o1['level'] - o2['level'])+Math.random() - 0.5; + }); + +} + var next = function(){ - $.get('./mksec/?word='+data[(iter++)%data.length], function(res){ + sort(); + $.get('./mksec/?word='+data[0].word, function(res){ sentence = res; - let pos = res.indexOf(data[(iter-1)%data.length]); - res = res.substring(0, pos) + '' + String(data[(iter-1)%data.length]) + '' + res.substring(pos + String(data[(iter-1)%data.length]).length); + let pos = res.indexOf(data[0].word); + res = res.substring(0, pos) + '' + String(data[0].word) + '' + res.substring(pos + String(data[0].word).length); $('#sentence').html(res); getInfo(); }) } var upgrade = function(){ - $.get('./upgrade/?email='+cookie.get('email')+'&word='+data[(iter-1)%data.length], function(res){ + data[0].level++; + $.get('./upgrade/?email='+cookie.get('email')+'&word='+data[0].word, function(res){ if(res.code != 200){ alert(res.message); } @@ -177,11 +189,11 @@ var upgrade = function(){ var getInfo = function(){ - $.get('./getInfo/?email='+cookie.get('email')+'&word='+data[(iter-1)%data.length], function(res){ + $.get('./getInfo/?email='+cookie.get('email')+'&word='+data[0].word, function(res){ if(res.code != 200){ alert(res.message); }else{ - $('#info').html('Word: '+data[(iter-1)%data.length]+' | Level: ' + res.data); + $('#info').html('Word: '+data[0].word+' | Level: ' + res.data); } }); } diff --git a/src/server.js b/src/server.js index 3e2a96d..c7870ec 100644 --- a/src/server.js +++ b/src/server.js @@ -107,7 +107,7 @@ app.get('/getData/', async (req, res) => { res.send({ code: 200, message: 'Get data successfully!', - data: arr + data: (req.query.hasOwnProperty('type') && req.query.type == 'obj')?data : arr }); return;