javascript - 有没有像 set in python 这样的数组方法?

标签 javascript list arraylist

据我所知,在 python 中我可以将列表设置为唯一列表,例如:

In [12]: a=range(12)

In [13]: a.append(5)

In [14]: a.append(4)

In [15]: a.append(5)

In [16]: a
Out[16]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 5, 4, 5]

In [17]: set(a)
Out[17]: set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])

对于某些场景非常有用, 我只想知道如何在 javascript 中做到这一点,

最佳答案

Javascript 没有集合的概念。但是,您可以使用对象不能具有重复属性名称这一事实的副作用来复制集合的功能,如 this blog article about the topic 中所示。 .

来自文章:

var your_array = ['a', 'a', 'a', 'b', 'b'],
    set = {};
for (var i = 0; i < your_array.length; i++)
   set[your_array[i]] = true;
list = [];
for (var item in set)
   list.push(item);

2017 年编辑: 这不再是真的,JS 得到了固定支持! MDN Docs

empty_set = new Set()
three_element_set = new Set([1, 1, 1, 2, 2, 3])
three_element_set.add(3) // still three element set

关于javascript - 有没有像 set in python 这样的数组方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585549/

相关文章:

Java:创建一个 HashMap 列表

javascript - 使用 key 在多个项目之间插入分隔符

javascript - Protractor - 如何跳转到网格中的下一行并返回找到的值

java - 在 Java 中使用 iter.remove() 时出现 IllegalStateException(来源不明)

python - 如何从Python中的列表中删除单引号

c# - 将 2 个列表连接成 1 个 C# 问题

java - 原始数组与 ArrayList

php - 使用 PHP/Javascript 检测应用内浏览器 (WebView)

javascript - 如何将一个 highcharts 放在另一个之上

字典查找(字符串键)与列表索引之间的 Python 性能差异