我有一个基于用户点击各种问题和警报生成的数组,如下所示:
A队,球员1,黄色,C1
每次发生事件(在足球比赛中)时都会创建这种数组。比赛结束后,我想将这些事件中的每一个都放入我的数据库中。我想知道如何用 a 分隔数组的每个部分,;
以便将要爆炸的数组看起来像这样:
A队,球员1,黄色,C1;B 队,球员 5,红色,S6
我创建第一个数组没有问题,只需要知道如何添加;
我想知道这是否可能成为数组中的数组?
先感谢您
我有一个基于用户点击各种问题和警报生成的数组,如下所示:
A队,球员1,黄色,C1
每次发生事件(在足球比赛中)时都会创建这种数组。比赛结束后,我想将这些事件中的每一个都放入我的数据库中。我想知道如何用 a 分隔数组的每个部分,;
以便将要爆炸的数组看起来像这样:
A队,球员1,黄色,C1;B 队,球员 5,红色,S6
我创建第一个数组没有问题,只需要知道如何添加;
我想知道这是否可能成为数组中的数组?
先感谢您
假设我了解您的问题:
我认为二维数组将是实现您所追求的最简单的方法。您还可以查看创建对象并将这些对象放入数组中。看起来好像您正在这样做,但我不完全确定,因为您的示例信息量不大。
理想情况下,您应该将这些字符串推入一个数组,然后将它们推入一个包含所有其他数组(二维数组)的数组:
示例:http: //jsbin.com/ecoput/2/edit
var data = [["Team A","Player 1","Yellow","C1"],["Team B","Player 5","Red","S6"]]
在此之后,你应该join
数组。
data.join(";");
这将导致:
"Team A,Player 1,Yellow,C1;Team B,Player 5,Red,S6"
查看您的代码以了解如何创建数组会很有帮助,但您的最后一条语句可能是正确的。听起来您需要一个关联数组,或者更好的是某种集合。这些数据代表什么?
A队的球员1收到黄牌?什么是C1?如果您可以发布一些代码并解释您要捕获的内容会更有帮助。
根据您的问题,我猜您使用的是字符串,而不是实际的数组。
考虑使用对象数组,因为 event 是单个实体,而不是实体列表:
[{team:"Team A", player:"Player 1", type:"Yellow", code:"C1"},
{team:"Team B", player:"Player 5", type:"Red", code:"S6"}]
将事件添加到对象数组的代码:
function addEvent(events, team, player, type, code) {
events.push({team:team, player:player, type:type, code:code});
}
如果您需要将单个事件存储为数组:
[["Team A", "Player 1", "Yellow", "C1"],
["Team B", "Player 5","Red", "S6"]]
您可以使用此代码将事件添加到“数组数组”:
function addEvent(events, team, player, type, code) {
events.push([team, player, type, code]);
}
也许以下内容可以解决您的问题(只要我理解正确):
var array = ["Team A", "Player 1", "Yellow", "C1",
"Team B", "Player 5", "Red", "S6"];
var result = "";
for ( var i = 0; i < array.length; i += 4) {
result += array.slice(i, i+4).join(",");
if ( i+4 < array.length ) result += ";";
}
console.log(result);
// prints: Team A,Player 1,Yellow,C1;Team B,Player 5,Red,S6;
稍后您可以使用以下命令反转此操作split
:
var array2 = result.split(/,|;/);
// array == array2