我不确定Javascript集是否已编入索引。根据我使用其他编程语言的经验,它们通常不会编入索引。我通过在JS中创建一个新集来检查并添加了一些值。然后我询问索引0和1的值,但它返回undefined
所以我假设他们没有索引。
如何从JS中的集合中删除对象?
例如:
var data = new Set();
data.add({"val1" : [1,2,3]});
data.add({"val2" : [4,5,6]});
data.add({"val3" : [7,8,9]});
我使用data.has({"val1" : [1,2,3]})
检查但是它返回false,所以我假设代码行不是指同一个对象。
答案 0 :(得分:1)
您可以转换为数组并使用这样的索引删除。
var data = new Set();
data.add({"val1" : [1,2,3]});
data.add({"val2" : [4,5,6]});
data.add({"val3" : [7,8,9]});
alert(data.size === 3); //true
data.delete([...data][1]); //Remove the middle object
alert(data.size === 2); //true
ES6在这里。
http://www.es6fiddle.net/i1nxqwm0/
请考虑Set的兼容性表。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
希望这有帮助。