删除集合Javascript中的对象

时间:2014-10-24 17:53:57

标签: javascript

我不确定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,所以我假设代码行不是指同一个对象。

1 个答案:

答案 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

希望这有帮助。