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

如何让JavaScript函数返回带引号的字符串输出?

解决console.log输出带引号字符串的问题

首先咱们得理清问题根源:你的unusedDigits函数其实已经正确返回了目标字符串(比如"09"),但console.log在打印字符串时,默认只会输出字符串的内容本身,不会带上包裹它的引号——这是浏览器和Node.js控制台的默认行为,不是你的函数逻辑出了问题。

要让输出显示带引号的字符串,你可以试试这几种方法:

方法1:在console.log里手动拼接引号

直接在打印时用模板字符串给结果套上双引号,简单直接:

console.log(`"${unusedDigits([12, 34, 56, 78])}"`); // 输出 "09"
console.log(`"${unusedDigits([2015, 8, 26])}"`); // 输出 "3479"

方法2:修改函数让返回值自带引号

如果希望函数本身就返回带引号的结果,可以在返回时直接把字符串包裹起来:

function unusedDigits(numbers) { 
  let s = numbers.join(''); 
  let arr = s.split(''); 
  let ch = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; 
  let arraRes = []; 
  for (let i = 0; i < ch.length; i++){ 
    if (!arr.includes(ch[i])) { 
      arraRes += ch[i]; 
    } 
  } 
  return `"${arraRes}"`; // 这里给结果加上双引号
} 
console.log(unusedDigits([12, 34, 56, 78])); // 输出 "09"

方法3:用JSON.stringify自动生成带引号的输出

JSON.stringify会把字符串转换成符合JSON规范的格式,自动给字符串加上双引号,适合需要标准格式输出的场景:

console.log(JSON.stringify(unusedDigits([12, 34, 56, 78]))); // 输出 "09"
console.log(JSON.stringify(unusedDigits([2015, 8, 26]))); // 输出 "3479"

另外顺便提个小优化:你的代码里arraRes初始化为数组但用+=拼接字符串,其实可以直接初始化为空字符串,还能省去转数组的步骤,代码更简洁:

function unusedDigits(numbers) { 
  let s = numbers.join(''); 
  let ch = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; 
  let arraRes = ''; // 直接初始化为字符串
  for (let i = 0; i < ch.length; i++){ 
    if (!s.includes(ch[i])) { // 直接用字符串的includes方法,不用转数组
      arraRes += ch[i]; 
    } 
  } 
  return arraRes; 
} 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 20:07:48