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

如何在Stackblitz控制台中显示JavaScript Set()的内容?

在Stackblitz控制台查看Set内容的解决办法

我一直用Stackblitz作为JS学习和测试的草稿平台,实时控制台更新的特性很方便,但遇到个问题:控制台对Set的输出不够直观。比如这段代码:

let numbers = [1, 1, 2, 2, 3, 3];
numbers = new Set(numbers);
console.log(numbers); // 预期输出: Set(3) {1, 2, 3}

在Chrome开发者工具里,console.log(numbers)会输出Set(3) {1, 2, 3},但Stackblitz控制台只显示Set {}。有没有不用打开Chrome DevTools就能查看Set内容的办法?


解决方法

  • 转换为数组输出:利用扩展运算符或Array.from()把Set转成数组,直接打印数组就能看到所有元素:
    console.log([...numbers]); // 输出 [1, 2, 3]
    // 或者
    console.log(Array.from(numbers)); // 输出 [1, 2, 3]
    
  • 自定义格式化输出:如果想要更接近Chrome控制台的格式,可以自己拼接字符串:
    console.log(`Set(${numbers.size}) {${Array.from(numbers).join(', ')}}`);
    // 输出 Set(3) {1, 2, 3}
    
  • 封装打印函数:如果经常需要打印Set,封装一个函数更高效:
    function printSet(set) {
      const elements = Array.from(set).join(', ');
      console.log(`Set(${set.size}) {${elements}}`);
    }
    
    printSet(numbers); // 输出 Set(3) {1, 2, 3}
    

内容的提问来源于stack exchange,提问作者js-newb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:52:10