You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从数组创建新Set,返回空对象,求排查问题原因

问题:用数组创建Set后打印显示空对象?

你这段代码本身没有错误,new Set(myArray)已经成功创建了包含唯一值的Set集合。之所以Logger.log(mySet)显示空对象,是因为很多日志工具(比如Google Apps Script里的Logger)无法直接正确序列化并展示ES6的Set对象,导致输出看起来是空的。

验证Set是否创建成功的方法:

  • 查看Set的元素数量:
const myArray = ["value1", "value2", "value3", "value1", "value2"];
const mySet = new Set(myArray);
Logger.log(mySet.size); // 输出3,证明Set里有3个唯一元素
  • 把Set转换成数组后再打印,就能看到实际内容:
const myArray = ["value1", "value2", "value3", "value1", "value2"];
const mySet = new Set(myArray);
Logger.log([...mySet]); // 输出 ["value1", "value2", "value3"]
// 或者用Array.from()转换
Logger.log(Array.from(mySet));

如果是在浏览器开发者控制台里直接打印mySet,是能正常看到Set的结构和内容的,只是部分特定环境的日志工具对ES6集合对象的支持有限,需要转成数组来查看。

内容的提问来源于stack exchange,提问作者Borgher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 23:42:27