Javascript 为什么控制台中没有打印阵列括号?

Javascript 为什么控制台中没有打印阵列括号?,javascript,Javascript,我有一个与此类似的代码,我试图将数组输出到控制台,但我(在我的例子中)需要在控制台中显示数组“[]”的括号 const x=(…c)=>{ 常量数组=c.find((值)=>{ 返回真值 }) let error=新错误() error=Object.assign(错误,{message:`您犯了罪!${array}`}) 抛出错误消息 } console.log(x([1,2,3])使用JSON.stringify(如果不希望括号中没有值,请使用str.replace,如下所示): con

我有一个与此类似的代码,我试图将数组输出到控制台,但我(在我的例子中)需要在控制台中显示数组“[]”的括号

const x=(…c)=>{
常量数组=c.find((值)=>{
返回真值
})
let error=新错误()
error=Object.assign(错误,{message:`您犯了罪!${array}`})
抛出错误消息
}

console.log(x([1,2,3])
使用
JSON.stringify
(如果不希望括号中没有值,请使用str.replace,如下所示):

const x=(…c)=>{
常量数组=c.find((值)=>{
返回真值
})
let error=新错误()
error=Object.assign(错误,{消息:`你犯了罪!`+JSON.stringify(数组).replace(“{}”,“”)。replace(“[]”,“”)})
抛出错误消息
}

console.log(x([])
[1,2,3].toString()=='1,2,3'
。如果要用括号表示数组,请使用
${JSON.stringify(array)}

模板文字将数组转换为字符串。@terrymose,否,请尝试console.log(值);在find()方法之后,它确实返回了一个数组。如果你需要修饰括号,只需在模板文本中用括号括起占位符:
[${array}]
。或者使用
${JSON.stringify(array)}
@Teemu,回答“如果你需要修饰括号”,不,上面的代码只是我实际制作的示例,我正在制作一个验证器模块,用于验证输入是否为函数、isArray、isObject或isString…等等,因此输出将从一种类型更改为另一种类型。不,这不是我想要的,这是打印{}。我希望它打印[]以防出现错误array@Ekmek编辑我的答案,这是你想要的吗?谢谢你的解决方案,但是你能解释一下吗?因为如果你试图转换我的整个代码,让它打印一个对象而不是一个数组,它将正常打印{},而不需要使用JSON.stringify(),所以该死的只在数组上?看起来是这样的@Ekmek,但其他人必须这样做:/@Ekmek字符串文本中的
${}
将内容转换成字符串。如果你做了
${myObject}
,你会得到“[object object]”等等。回答得好,现在我能清楚地看到这个想法,多亏了扎克·安格尔和弗雷德里克