gpt4 book ai didi

javascript - 用 JS 发布反转对象数组

转载 作者:搜寻专家 更新时间:2023-11-01 04:52:45 26 4
gpt4 key购买 nike

我正在解析 JSON 并使用 javascript 获取对象数组。我一直在这样做,然后为每个对象附加一个元素:

for(o in obj){ ... }

但我意识到在某种情况下我想倒退遍历数组。所以我在 for 循环之前尝试了这个:

obj = obj.reverse();

然而,这并没有颠倒数组中对象的顺序。我可以简单地在 for 循环中放置一个计数变量来手动获取反向,但我很困惑为什么反向似乎不适用于对象数组。

最佳答案

JavaScript 中没有“对象数组”这样的东西。有对象,也有数组(当然,数组也是对象)。对象具有属性,并且属性没有以任何定义的方式排序。

换句话说,如果你有:

var obj = { a: 1, b: 2, c: 3 };

不能保证 for ... in 循环会按“a”、“b”、“c”的顺序访问属性。

现在,如果您有一个对象数组,例如:

var arr = [ { a: 1 }, { b: 2 }, { c: 3 } ];

那就是一个普通的数组,你可以反转它。 .reverse() 方法会改变数组,因此您无需重新分配它。如果您确实有一个对象数组(或任何类型值的真实数组),那么您应该使用for ... in 遍历它。使用数字索引。

edit — 在有用的评论中指出 .reverse() 确实会返回对数组的引用,因此重新分配不会造成任何伤害。

关于javascript - 用 JS 发布反转对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9704222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com