0

我有一个基于用户点击各种问题和警报生成的数组,如下所示:

A队,球员1,黄色,C1

每次发生事件(在足球比赛中)时都会创建这种数组。比赛结束后,我想将这些事件中的每一个都放入我的数据库中。我想知道如何用 a 分隔数组的每个部分,;以便将要爆炸的数组看起来像这样:

A队,球员1,黄色,C1;B 队,球员 5,红色,S6

我创建第一个数组没有问题,只需要知道如何添加;我想知道这是否可能成为数组中的数组?

先感谢您

4

5 回答 5

0

假设我了解您的问题:

我认为二维数组将是实现您所追求的最简单的方法。您还可以查看创建对象并将这些对象放入数组中。看起来好像您正在这样做,但我不完全确定,因为您的示例信息量不大。

于 2013-04-03T17:26:13.850 回答
0

理想情况下,您应该将这些字符串推入一个数组,然后将它们推入一个包含所有其他数组(二维数组)的数组:

示例: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"
于 2013-04-03T17:29:04.910 回答
0

查看您的代码以了解如何创建数组会很有帮助,但您的最后一条语句可能是正确的。听起来您需要一个关联数组,或者更好的是某种集合。这些数据代表什么?

A队的球员1收到黄牌?什么是C1?如果您可以发布一些代码并解释您要捕获的内容会更有帮助。

于 2013-04-03T17:29:38.373 回答
0

根据您的问题,我猜您使用的是字符串,而不是实际的数组。

考虑使用对象数组,因为 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]);
}
于 2013-04-03T17:34:17.743 回答
0

也许以下内容可以解决您的问题(只要我理解正确):

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
于 2013-04-03T17:42:41.673 回答