我有一个根据用户点击来生成的数组来自各种问题和警告:
A队,球员1,黄牌,C1
每次事件发生时(足球比赛中)都会创建这种数组。比赛结束后,我想把这些事件中的每一个都放到我的数据库中。我想知道如何用;
分隔数组的每个部分,以便爆炸的数组看起来像这样:
A队,球员1,黄牌,C1; B队,球员5,红色,S6
我创建第一个数组没有问题,只需要知道如何添加;
我想知道这是否可能成为数组中的数组?
提前感谢
答案 0 :(得分:0)
假设我理解你的问题:
我认为二维数组是实现你所追求的最简单的方法。您还可以查看创建对象并将这些对象放入数组中。看起来好像你这样做但我并不完全确定你的例子不是很有用。
答案 1 :(得分:0)
理想情况下,您应该将这些字符串推入数组,然后将它们推送到包含所有其他数组(2维数组)的数组:
示例: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"
答案 2 :(得分:0)
看到你的代码知道如何创建数组会很有帮助,但是你的最后一个语句可能是在正确的轨道上。听起来你需要一个关联数组,或者更好的是,某种类型的集合。这些数据代表什么?
A队的球员1获得了一张黄牌?什么是C1?如果您可以发布一些代码并解释您尝试捕获它的内容会更有帮助。
答案 3 :(得分: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]);
}
答案 4 :(得分: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