在Javascript中声明一个空的二维数组?

2023-12-03

我想在 Javascript 中创建一个二维数组,用于存储坐标 (x,y)。我还不知道我将拥有多少对坐标,因为它们将由用户输入动态生成。

预定义二维数组的示例:

var Arr=[[1,2],[3,4],[5,6]];

我想我可以使用 PUSH 方法在数组末尾添加一条新记录。

如何声明一个空的二维数组,以便当我使用第一个 Arr.push() 时,它将被添加到索引 0,并且 push 写入的每个下一条记录将采用下一个索引?

这可能很容易做到,我只是 JS 的新手,如果有人可以编写一个简短的工作代码片段供我检查,我将不胜感激。谢谢


您可以像这样声明一个常规数组:

var arry = [];

然后,当您有一对值要添加到数组中时,您需要做的就是:

arry.push([value_1, value2]);

是的,当你第一次打电话时arry.push,这对值将放置在索引 0 处。

来自nodejs repl:

> var arry = [];
undefined
> arry.push([1,2]);
1
> arry
[ [ 1, 2 ] ]
> arry.push([2,3]);
2
> arry
[ [ 1, 2 ], [ 2, 3 ] ]

当然,由于 javascript 是动态类型的,因此不会有类型检查器强制数组保持二维。您必须确保仅添加坐标对,而不执行以下操作:

> arry.push(100);
3
> arry
[ [ 1, 2 ],
  [ 2, 3 ],
  100 ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Javascript中声明一个空的二维数组? 的相关文章

随机推荐

  • 如何在数据表中的第一列标题添加垂直线?

    我想在 DT 表列标题中添加一条垂直线 有在帖子中添加此行的指导如何向数据表添加垂直线 但它适用于手动设置列的静态表 而在我的 MWE 代码 底部 中 列是使用lapply 在反应性设置中起作用 因此 在我的特定情况下 我在使用本指南时遇到
  • 在 php 中测试给定字符的大写或小写类型的最佳方法是什么?

    无论当前本地语言如何 检测字符是大写还是小写的理想方法是什么 有没有更直接的功能 假设 将内部字符编码设置为 UTF 8 并且本地浏览器会话是 en US en q 0 5 并且已安装多字节字符串扩展 不要使用 ctype lower 或
  • 当 Typescript 具有不同的参数计数时,有没有办法让 Typescript 认为函数类型不相等?

    考虑以下代码 function typeTest callback item1 number item2 string gt number number return callback 5 foo This works typeTest n
  • 使用 ggplot2 绘图:“错误:在分类 y 轴上提供连续刻度的离散值”

    下面的绘图代码给出Error Discrete value supplied to continuous scale 这段代码有什么问题 它工作正常 直到我尝试更改比例 所以错误就在那里 我试图从类似问题中找出解决方案 但不能 meltDF
  • 删除 git 中的分支是否会将其从历史记录中删除?

    来自svn 刚刚开始熟悉git 当git中删除一个分支时 它会从历史记录中删除吗 在svn中 您可以通过恢复删除操作 反向合并 轻松恢复分支 与 svn 中的所有删除一样 分支从未真正删除 它只是从当前树中删除 如果分支实际上从 git 的
  • Linux 中的 java.lang.UnsatisfiedLinkError

    我已经成功进入 Linux 机器来尝试中建议的 HotKey 库这个答案 我已经编译了示例代码 现在运行该程序并收到以下消息 oracle machine jxgrabkey 0 2 1 i386 java classpath lib JX
  • 在 Mercurial 中合并时排除文件

    我将 Mercurial 与 TortoiseHg 一起使用 我有两个分支 A and B 有两个文件 toto cs and titi cs 当我想合并时有办法吗B with A 排除titi cs不合并 并且仅合并toto cs 如果可
  • 为什么使用await后控制台仍然退出?

    using System using System Threading using System Threading Tasks namespace application public class Files public static
  • L5.6 - 数据透视表上的关系

    我有一个关系pivot桌子 我怎样才能扩展它 例如 shops id name products id name 产品商店 产品编号 shop id field 1 field 2 field 3 表A id table A id name
  • WebSphere Message Broker - 如何发送 PCF 消息

    我们需要从 MB 流发出一些 MQ 命令 解决方法是发送 PCF 命令 但我不知道如何创建它 有什么指点吗 塞巴斯蒂安 要通过 PCF 消息向 MQ 队列管理器发出命令 您可以查看 nix 上或安装 MQ 的位置的 opt mqm samp
  • 如何删除 Postgres 中两行重复数据之一?

    我正在使用 Postgres 9 5 我有以下查询 旨在查找表中相同的数据行 但具有唯一的 ID select e name e day e distance e created at e2 created at from events e
  • 在应用程序退出时保存变量

    我有一个简单的 iPhone 应用程序 具有多个视图和 5 个不同项目的列表 这些项目附加了变量 无论用户在应用程序中的哪个位置 这些变量都会传递到每个新视图 Example var Peron1 String var Person1Age
  • 没有数据库/框架的Asp.net mvc模型

    是否有关于如何创建 ASP NET MVC 应用程序而不由数据库管理模型 通过 linq2sql 或实体框架 的教程 示例 我必须为具有基于 json 的 api 的服务器创建一个前端 我想使用 mvc 3 或 2 并且保留 mvc 的大部
  • 如何重建全部?

    在 Visual Studio 中 如何重建完整的解决方案 包括所有配置 如果我选择 重建解决方案 它总是仅重建 调试 或 仅发布 但绝不会同时重建两者 使用批量构建选项 右键单击解决方案即可查看它 这是一个屏幕截图 VS2010 但我相信
  • [Code] 部分中的数组变量和动态访问

    我的安装程序有Components与可下载文件相关联 这些东西在不同的构建中都在变化 所以我正在使用 insert来创建 Components 部分以及相应的条目 Files 部分 其中一些组件依赖于常见的可下载文件 现在 为了在下载页面中
  • 自调用onUpgrade方法

    我怎样才能打电话给onUpgrade数据库的方法 我的问题背景 我在 SD 卡上做了完整数据库的备份 用户可以恢复该数据库 但是 如果与此同时 在备份和恢复之间 应用程序更新更改了数据库 我将在恢复时遇到问题 恢复后新列不存在 所以我想打电
  • 当字符串中存在重复字母时获取匹配项

    我在谷歌表格中有一个输入列表 Input Desired Output To demonstrate only not an input The repeated letters Outdoors Match o dog No Match
  • Glassfish 3 - 从静态服务器加载图像

    我正在尝试从部署到的 Web 应用程序外部的服务器加载图像 和其他静态内容 玻璃鱼 v3 我有以下配置web xml但它不适用于 Glassfish 但适用于 Tomcat
  • 在 C# 中调整图像大小并将其发送到 OpenCV 会导致图像扭曲

    这是一个相关的后续问题this one 基本上 我有一个 DLL 它使用 OpenCV 进行图像处理 有两种方法 一种是接受image Path 另一个接受cv Mat 与我们一起工作的人image path工作正常 接受一个image是有
  • 在Javascript中声明一个空的二维数组?

    我想在 Javascript 中创建一个二维数组 用于存储坐标 x y 我还不知道我将拥有多少对坐标 因为它们将由用户输入动态生成 预定义二维数组的示例 var Arr 1 2 3 4 5 6 我想我可以使用 PUSH 方法在数组末尾添加一