[英]how can I refactor this?
至於現在,當我准備通過 Ajax 請求將我的數據發送到我的 web 應用程序時,我只是連接我的 JS arrays(在它們之間放置-1
表示新數組的開始分隔符-1
只能是,所以可以, )。 這對我來說似乎有點難看,所以我想知道重構這個的最佳實踐是什么。
var online1 = [];
var online2 = [];
var online3 = [];
var online4 = [];
for(i = 0 ; i < listOfPlayers.length ; i++) {
var player = listOfPlayers[i].href;
var uid = player.substring(player.lastIndexOf('=') + 1);
if(onlineStatus[i].className == "online1"){
online1.push(uid);
}
if(onlineStatus[i].className == "online2"){
online2.push(uid);
}
if(onlineStatus[i].className == "online3"){
online3.push(uid);
}
if(onlineStatus[i].className == "online4"){
online4.push(uid);
}
}
online1.push(-1);
online2.push(-1);
online3.push(-1);
online4.push(-1);
var result = online1.concat(online2, online3, online4);
//...
ajaxRequest.send("result="+result);
你可以做兩件事:
使用 object,使用JSON.stringify
對其進行字符串化。 您可以使用JSON.parse
解析它,甚至存在服務器端解決方案。 JSON
在最近的瀏覽器和庫中可用。
使if
通用。
例如:
var online = {1: [],
2: [],
3: [],
4: []};
for(i = 0 ; i < listOfPlayers.length ; i++) {
var player = listOfPlayers[i].href;
var uid = player.substring(player.lastIndexOf('=') + 1);
var number = onlineStatus[i].className.substring(6);
online[number].push(uid);
}
var result = JSON.stringify(online);
//...
ajaxRequest.send("result="+result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.