热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Javascript中推送到2D数组-Pushto2DArraysinJavascript

Iamtryingtounderstandhow2DArraysshouldworkinJavascript,whereIamcurrentlyattemptingt

I am trying to understand how 2D Arrays should work in Javascript, where I am currently attempting to store data in categories. In this scenario, I have a list of maps such as...

我试图了解2D数组应如何在Javascript中工作,我目前正在尝试将数据存储在类别中。在这种情况下,我有一个地图列表,如...

arena_badlands
arena_dust
ctf_2fort
cp_dustbowl

I would like to create a 2D Array where they are categorized by the types (arena, ctf, cp) so I can handle the data more efficiently. For whatever reason, I am unable to use the push() method as expected. Can anyone please help share what it is that I am doing incorrectly?

我想创建一个2D数组,它们按类型(竞技场,ctf,cp)进行分类,这样我就可以更有效地处理数据。无论出于何种原因,我无法按预期使用push()方法。谁能帮助分享我做错了什么?

As the maps in the list won't necessarily be in order by type, it keeps me from creating a single array of arena maps and then placing this inside of availableMaps.

由于列表中的地图不一定按类型排序,因此它不会创建单个竞技场地图数组,然后将其放在availableMaps中。

var availableMaps = [[]];       // Store all maps on the server which can be loaded

function getMaps()
{
    $.ajax({
        type: "POST",
        url: "handler.php",
        data: { 'action': 'getMaps' },
        dataType: 'json',
        success: function(data)
        {
            var maps = data['maps'];
            var counter = 0;

            $.each( maps, function( key, value )
            {
                // Split map name to fetch the type (ex: arena_badlands would be an 'arena' map)
                var parts = value.split("_");
                var mapType = parts[0];

                availableMaps[mapType][counter].push(value);

                counter++;
            });
        }
    });
}

1 个解决方案

#1


Here is one way:

这是一种方式:

var inputs = ["arena_badlands", "arena_dust", "ctf_2fort", "cp_dustbowl"];

function getAvailableMaps(inputs) {
    var map = {}, parts, name, item, items;
    for (var i = 0; i 

It creates an object at the root for holding named indexes, and uses an array to store the list of items.

它在根目录下创建一个用于保存命名索引的对象,并使用数组来存储项目列表。

Here is another approach as well:

这是另一种方法:

var inputs = ["arena_badlands", "arena_dust", "ctf_2fort", "cp_dustbowl"];

function getAvailableMaps(inputs) {
    var map = {}, input, name, item, items;
    for (var i = 0, i2; i 

推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
author-avatar
梁梁庆新
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有