如何解决JavaScript:按对象属性对具有键的对象的行为数组进行排序的区别
我有两个信息相同但键不同的数组。
第一个数组的键是字符串:
var myArray=[];
myArray["Bob"]={Name: "Bob",Age:21};
myArray["Steve"]={Name: "Steve",Age:30};
myArray["Tony"]={Name: "Tony",Age:11};
第二个数组正常索引:
var myOtherArray=[];
myOtherArray.push({Name: "Bob",Age:21});
myOtherArray.push({Name: "Steve",Age:30});
myOtherArray.push({Name: "Tony",Age:11});
如果我尝试按年龄对它们进行排序:
myArray.sort(({Age:b},{Age:a}) => a-b)
myOtherArray.sort(({Age:b},{Age:a}) => a-b)
最后,myOtherArray将被排序,但是myArray仍将按键排序。我在这里想念什么? 谢谢!
解决方法
您的第一个数组实际上不包含任何元素;您可以通过在其上设置属性来像对待对象一样对待它,这些属性按插入顺序排列,但数字键按升序排列。
您使用了标准的push方法将其添加到第二个数组中,因此它可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。