将JavaScript拆分为小部件以添加到数组

时间:2015-09-06 06:04:00

标签: javascript html arrays

所以,我正在开发一个基于文本的Javascript / HTML游戏,其中角色有一个'库存'他们在整个游戏中发现的东西(金钱,食物,水等)。这不会是一场短暂的比赛,所以我想让球员能够从他们离开的地方开始。此外,我想这样做没有PHP / MySQL或任何语言,但HTML / JavaScript。所以我的想法是这样的:假设一个角色在游戏中的某个位置使用代码2918,他们有0129美元,688' water' 0029'食物'这些值将会存储时存储在一个字符串(2918012900040029)中,他们需要保留此代码并在下次加载游戏时输入该代码。这就是我被困的地方。当他们下次播放时输入代码时,我想取一串数字,每四个字母分解一次,然后将每个块存储在一个数组中。让这个工作的任何想法?

3 个答案:

答案 0 :(得分:2)

使用json绝对是一种选择。但是,听起来您有兴趣构建一个用户可以输入的令牌,解码为某些给定的信息。

我相信在这种情况下你可以很好地利用JWT的

JWT是经过编码的字符串,一旦解码就会提供一个JSON对象,可以仅用于您请求的目的。

您可能希望在玩家注册时创建JWT并在玩家输入其令牌后(如果您希望他们需要额外的密码以便轻松工作)。令牌将被解码,您将能够处理所有存储的信息。

答案 1 :(得分:2)

好的,如果您只是在寻找如何将字符串拆分为4个字符的组并将em放入数组中,您可以使用正则表达式和String.match();

匹配4个字符组的

This is the regular expression

var str = '2918012900040029';
var strArray = str.match(/(.){4}/g);

//prints '["2918", "0129", "0004", "0029"]'
console.log(strArray); 

//Alternatively your could use substr() and split it manually or with some looping 
var str = '2918012900040029';
var strArray = [str.substr(0,3),
                str.substr(4,7),
                str.substr(8,11),
                str.substr(11,15)];

答案 2 :(得分:1)

您可以使用JavaScript Cookie。制作一个cookie:

document.cookie = "location=2918;money=0129;food=0029;water=0004;expires="+expirydate;
  

此处expirydate是一个UTC字符串,告知何时应该删除cookie。

从Cookie中检索数据:

document.cookie

这将输出:

"location=2918;money=0129;food=0029;water=0004"

正如您所说,您希望将这些值存储到数组中,然后您可以使用substr()将此字符串剪切成碎片。

  

阅读本教程,了解JavaScript Cookie教程:http://www.w3schools.com/js/js_cookies.asp