如何解决确保在JavaScript中设置稳定吗?
使用Set播放时,它似乎很稳定(即项目保持其出现的顺序):
> [...new Set(["foo","bar","foo","baz","bar"])]
["foo","baz"]
但是我找不到任何可以保证稳定的文档。
解决方法
根据MDN ,您可以按插入顺序遍历集合中的元素。
Set
方法的详细文档页面上充满了“按插入顺序”语句。
测试:
a = new Set()
a.add(1)
a.add(2)
a.add(4)
a.add(3)
console.log([...a]) // [1,2,4,3]
a.add(2) // already present element has no effect on order
console.log([...a]) // [1,3]
,
ECMAScript® 2021 Language Specification表示Set(interable)
将为每个项目调用.add
,因为可迭代对象将返回它们。 .add
方法表示它将附加不存在的项目。因此,Set的稳定性取决于所使用的可迭代对象的稳定性。我不愿意tuits,并且愿意接受这样的理解,即数组的迭代器是稳定的(因为如果不是,那么一切都会中断),但是如果有人进一步保证,我将继续接受该答案的标志。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。