如何在Chrome中将Set转换为数组?

时间:2015-04-14 22:10:00

标签: javascript google-chrome

How to convert Set to Array?给出了将Set转换为数组的三个答案,其中任何一个目前都无法在Chrome浏览器中使用。

假设我有一个简单的Set

var set_var = new Set(['a', 'b', 'c']);

我可以迭代我的变量并将元素添加到空数组

var array_var = [];
set_var.forEach(function(element){array_var.push(element)});

但是还有其他方法可以提供更广泛的浏览器支持吗?

1 个答案:

答案 0 :(得分:1)

为什么不尝试使用set iterator?

function setToArray(set) {
  var it = set.values(),
      ar = [],
      ele = it.next();

  while(!ele.done) {
    ar.push(ele.value);
    ele = it.next();
  }

  return ar;
}

setToArray(new Set(['a', 'b', false, 0, 'c'])); // ["a", "b", false, 0, "c"]