我有很多单独的数组,这些数组填充了数据,但是由于我想组成一个联赛表,我想将所有这些单独的阵列添加到一个名为"团队"的阵列中然后可以用点来订购,但是我不知道(或者)是否有一个函数可以使用我的新数组看起来像这样
//What I want it to look like
var teams[
{id: 1, name: "ACMilan", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
{id: 2, name: "ASRoma", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
{id: 3, name: "Atalanta", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
{id: 4, name: "Bologna", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
//and so on and son
];
//The individual arrays I want to use to create a single array
var ACMilan = [
{id: 1, name: "ACMilan", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var ASRoma = [
{id: 2, name: "ASRoma", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Atalanta = [
{id: 3, name: "Atalanta", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Bologna = [
{id: 4, name: "Bologna", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Cagliari = [
{id: 5, name: "Cagliari", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Chievo = [
{id: 6, name: "Chievo", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
如果您使用的是ES6,只需将所有数组元素推入数组,这很容易
var ACMilan = [
{id: 1, name: "ACMilan", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var ASRoma = [
{id: 2, name: "ASRoma", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Atalanta = [
{id: 3, name: "Atalanta", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Bologna = [
{id: 4, name: "Bologna", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Cagliari = [
{id: 5, name: "Cagliari", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Chievo = [
{id: 6, name: "Chievo", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var teams = [
...ACMilan,
...ASRoma,
...Atalanta,
...Bologna,
...Cagliari,
...Chievo
];
console.log(teams);
,如果您使用的是ES5,请简单执行此操作
let team2 = [].concat(ACMilan,
ASRoma,
Atalanta,
Bologna,
Cagliari,
Chievo);
console.log(team2);
尝试此功能:
"use strict";
var ACMilan = [
{id: 1, name: "ACMilan", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var ASRoma = [
{id: 2, name: "ASRoma", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Atalanta = [
{id: 3, name: "Atalanta", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Bologna = [
{id: 4, name: "Bologna", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Cagliari = [
{id: 5, name: "Cagliari", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Chievo = [
{id: 6, name: "Chievo", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var teams = [];
function createTeamArray() {
for (var i = 0, max = arguments.length; i < max; i++) {
teams = teams.concat(arguments[i][0]);
}
}
createTeamArray(ACMilan, ASRoma, Atalanta, Bologna, Cagliari, Chievo);
console.log(teams);
我看不到这里需要将一个对象保存在数组中。卸下阵列括号。
var newarray = [Acmilan,Asroma,Atalanta,Bologna,Cagliari,Chievo]
您可以尝试获取所有窗口变量并通过掩码检查它们。如果有任何变量看起来像您的团队掩码,您会将其数据添加到数组中。我不知道此代码是否可以在此页面上正确启动,但是在我的本地计算机或plunker(https://plnkr.co/edit/ic5ysx8f8w0usa4epal3?p=preview)上还可以。另外,您不需要知道所有团队名称,只有团队对象值的掩码)
)
"use strict";
var ACMilan = [
{id: 1, name: "ACMilan", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var ASRoma = [
{id: 2, name: "ASRoma", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Atalanta = [
{id: 3, name: "Atalanta", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Bologna = [
{id: 4, name: "Bologna", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Cagliari = [
{id: 5, name: "Cagliari", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var Chievo = [
{id: 6, name: "Chievo", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var teams = [];
function getTeams() {
for (var keys in window) {
if(Array.isArray(window[keys])) {
if (window[keys][0].hasOwnProperty('id') && window[keys][0].hasOwnProperty('name')
&& window[keys][0].hasOwnProperty('GP') && window[keys][0].hasOwnProperty('W')
&& window[keys][0].hasOwnProperty('D') && window[keys][0].hasOwnProperty('L')
&& window[keys][0].hasOwnProperty('GF') && window[keys][0].hasOwnProperty('GA')
&& window[keys][0].hasOwnProperty('pts')) {
var cache = false;
for (var i = 0, max = teams.length; i < max; i++) {
if (window[keys][0]['name'] === teams[i]['name'] && cache === false) {
cache = true;
}
}
if (!cache) {
teams = teams.concat(window[keys][0]);
}
}
}
}
}
getTeams();
console.log(teams);
var ACMilan = [
{id: 1, name: "ACMilan", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var ASRoma = [
{id: 2, name: "ASRoma", GP:0, W: 0, D: 0, L:0, GF:0, GA:0, pts:0},
];
var teams = [];
teams.push(ACMilan);
teams.push(ASRoma);
有许多不同的方法可以做您想做的事情。一个简单的解决方案,只需使用teams.push()
按每个数组。使用concat()
将创建并返回一个新数组,而push()
只会将新元素附加到数组中。