如何在一个阵列中添加一堆阵列



我有很多单独的数组,这些数组填充了数据,但是由于我想组成一个联赛表,我想将所有这些单独的阵列添加到一个名为"团队"的阵列中然后可以用点来订购,但是我不知道(或者)是否有一个函数可以使用我的新数组看起来像这样

//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()只会将新元素附加到数组中。

最新更新