在 Javascript 中维护数组顺序

2024-04-29

我是 JavaScript 新手,在使用数组时遇到问题,我希望数组按照我显式编写的方式排序,而不是 JavaScript 决定它想要的方式。

如果我们有一个数组

var array = {
    0: 'zero',
    4: 'four',
    2: 'two'
};

当我选择在控制台中显示它或迭代它时,它会像这样重新排序

array = {
    0: 'zero',
    2: 'two',
    4: 'four'
};

到目前为止,我已经尝试了 2 个循环,即 for 循环,以及带有 in 语句的 for 循环。 两者都按照我假设的方式工作,因为它们使用按键并向上/向下工作,使我指定的顺序绝对没有用。

我如何按顺序编写/打印/使用我的数组,在其他语言(例如 PHP)中,它就像

$array = array(
    0 => 'zero',
    4 => 'four',
    2 => 'two'
);

foreach($array as $key => $value)
    echo $key ."\n";

这将输出

0
4
2

提前致谢。


你正在使用一个对象{},不是数组[]。对象没有明确的顺序,而数组则有。这就是你遇到问题的原因。改变你的{} to []你会没事的。您甚至可以使用对象数组。

var array = [
    {0: 'zero'}, 
    {4: 'four'}, 
    {2: 'two'}
];

像这样循环

for(var i = 0; i < array.length; i++){
  console.log(array[i]);
}

给我们正常的订单。

Object {0: "zero"}
Object {4: "four"}
Object {2: "two"} 

另一个编辑:问题是您试图拥有一个像对象一样具有属性和值的数组,而不使用对象 {property: value} - 这实际上不能用数组来完成。要像您想要的那样循环遍历数组,就像这样简单

var arr = [1,2,3]

and

for(var i = 0; i < arr.length; i++){
  console.log(i) //1,2,3
}

但问题是,如上所述,您想要更复杂的数组,而您根本无法做到。

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

在 Javascript 中维护数组顺序 的相关文章

  • 使用 dc.js 按条形值对条形图中的条形进行排序(排序)

    如何通过维度的计算值而不是维度本身的名称对 dc js 示例中的 x 轴 维度 进行排序 例如 请考虑序数条形图的 dc js 示例 https github com dc js dc js blob master web examples
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 字符串相似度的算法(比Levenshtein和similar_text更好)? php, Js

    在哪里可以找到比 levenshtein 和 phpimilar text 方法更准确地评估错误字符的拼写的算法 Example similar text jonas xxjon similar echo similar returns 6
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • 将分区扩展到另一级

    根据下图来自春季批量文档 http docs spring io spring batch reference html scalability html partitioning 主步骤被划分为六个从步骤 它们是主步骤的相同副本 我的问题
  • 计算5个城市之间的地理距离以及每个城市所有可能的组合

    所以我有一个 csv 文件 其中包含 3 列 城市 纬度 经度 我已经使用此代码从这个 csv 文件在 python 中创建了一个数据框 data pd read csv lat long csv nrows 10 Lat data lat
  • 2+3 是否被视为文字?

    假设我有类似的东西 int x 2 3 Is x被认为是字面意思吗 x是一个符号 2 3是一个表达式 2 and 3是文字
  • 如何从不知道要卸载的工件名称或工件组 ID 的脚本中执行与 mvn install 相反的操作? [复制]

    这个问题在这里已经有答案了 这听起来应该很容易 但我还没有找到答案 如果我使用 mvn install 安装一个工件 如何删除该工件 我尝试使用 dependency purge local repository 但它只删除依赖项 而不是实
  • 我的 matlab 图中需要不同的颜色

    这是我的情节代码 问题是我的图中的两条线具有相同的颜色 我需要为图中的每条线 总共 4 条线 分配一个特殊的颜色 for i 1 nFolderContents data hdrload folderContents i if size f
  • 如何在cordova中动态加载CSS

    我正在尝试通过 xhr 请求在 cordova 中动态加载 CSS CSS 的加载不是问题 我可以通过 xhr 加载它并通过 HTML5 文件 API 将其存储到文件系统 然后我就可以得到一个完美的 URL 但是如果我通过 javascri
  • 如何模拟嵌套函数?

    我想模拟特定函数中的一些嵌套函数 tools py def cpu count def get cpu quota return int load sys fs cgroup cpu cpu cfs quota us def get cpu
  • c 中的指针、双指针和三重指针[重复]

    这个问题在这里已经有答案了 可能的重复 有人可以告诉我给定代码中第二个 printf 语句中的引用流吗 https stackoverflow com questions 4638527 can someone tell me the fl
  • 无法从外部 bash 脚本正确设置 MySQL 密码

    我有两个脚本 主要的一个脚本执行一些不同的操作并调用第二个脚本 第二个脚本安装 MySQL 从我的主脚本中我做了这样的事情 read p Set the password for the database min 4 characters
  • TestNG 与 DataProvider 并行执行

    我有一个从数据提供者接收数据的测试 我希望此测试与数据提供者的不同值并行运行 我尝试了这样的方法 public class IndependentTest Test dataProvider dp1 threadPoolSize 3 inv
  • 如何检查 lat long 是否在城市范围内

    如何检查我的纬度 经度是否在城市范围内 或者例如 大伦敦包含在 bbox 0 489 51 28 0 236 51 686 Source http wiki openstreetmap org wiki Bounding Box http
  • 实现一个java UDF并从pyspark调用它

    我需要创建一个在 pyspark python 中使用的 UDF 它使用 java 对象进行内部计算 如果它是一个简单的 python 我会做类似的事情 def f x return 7 fudf pyspark sql functions
  • 使用CSS在矩形上画圈[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想设计一个类似于下图的形状 圆形和矩形之间的效果 我知道圆形是用设计的边界半径类似矩形的形状设计有一些具有风格的无序列表显示 块 但
  • 使用 Android 将文件上传到 Django Web 服务

    我正在开发一个与 Django 后端交互的 Android 应用程序 我已经使用 mod wsgi 部署了 Web 服务 并且有许多 Web 服务调用可以工作并且已经过测试 所以我知道一切都应该工作 所有其他呼叫都工作正常 这是我在Andr
  • 单击单选按钮时事件触发的顺序是什么?

    我知道这在浏览器之间是不同的 例如如果我将一个函数附加到单选按钮的 onclick 和 onchange 事件 然后单击它 Chrome 会触发 onchange 然后触发 onclick 而 Firefox 则会执行相反的操作 是否有任何
  • 如何对第 9 个反向引用之后的正则表达式进行分组?

    好的 所以我尝试在记事本 中对第9个反向引用进行分组 维基百科说我可以使用组命名来跳过第 9 个参考 但是 我似乎无法获得正确的语法来进行匹配 为了简单起见 我一开始只设置了两组 样本数据 1000 1000 Regex a 0 9 0 9
  • 将 SearchView 阈值设置为零

    我在用SearchView在android中 我将适配器设置为搜索视图 但建议弹出框在一个字符后显示 因为我将阈值设置为1 它不接受小于1的数字 如何将阈值设置为零 请喜欢 Google 因为您可能知道 Google Play 的应用程序没
  • 除了内存管理之外,QObject 的父对象还用于什么?

    我知道 当一个QObject http doc qt io qt 5 qobject html被摧毁了 它也摧毁了它所有的孩子 但是 在我最近的所有 Qt 代码中 我总是声明任何类的成员 例如 QMainWindow https doc q
  • R 中卡方的事后测试

    我有一张看起来像这样的桌子 gt dput theft loc structure c 13704L 14059L 14263L 14450L 14057L 15503L 14230L 16758L 15289L 15499L 16066L
  • 在 Javascript 中维护数组顺序

    我是 JavaScript 新手 在使用数组时遇到问题 我希望数组按照我显式编写的方式排序 而不是 JavaScript 决定它想要的方式 如果我们有一个数组 var array 0 zero 4 four 2 two 当我选择在控制台中显