dev*_*ato 2 javascript arrays big-o computer-science set
所以有多种方法可以在 JS 中转换和转换Array为 a Set。
示例 #2绝对是O(n),因为它遍历数组的所有元素。示例 #1 的情况是否相同?或者JS在后台为我们做一些优化?
如果是,使用Example #1有什么缺点吗?
const arr = [ 1, 3, 2, 3, 5 ];
const set = new Set(arr);
console.log(set);
/*
Output: Set { 1, 3, 2, 5 }
*/
Run Code Online (Sandbox Code Playgroud)
const arr = [ 1, 3, 2, 3, 5 ];
const set = new Set();
arr.map(item => set.add(item));
console.log(set);
/*
Output: Set { 1, 3, 2, 5 }
*/
Run Code Online (Sandbox Code Playgroud)
还是O(n); JS 没有什么神奇的方法可以将所有n元素放入 ,Set而无需实际遍历所有n元素。获得下面的唯一方法O(n)是跳过某些元素,如果必须考虑将所有元素都包含在Set.