据我所知,在 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/