繁体   English   中英

javascript警报打印对象对象

[英]javascript alert prints Object Object

这是我的代码,它在警报输出下方打印。

alert(JSON.stringify( args.errors,null,4));

这是输出。

{
    "Weight":{
        "errors":[
            "Hello My name is John"
        ]
    }
}

我只想在警报框中显示“你好,我的名字是约翰”。 任何帮助都会很棒

您可以使用args.Weight.errors.join(', ')来提醒错误。

如果只有一个错误,则会显示。 否则,所有的错误都会被分开,

我假设你有

 let args = { "Weight":{ "errors":[ "Hello My name is John" ] } }; alert(args.Weight.errors.join(', '));

它应该工作。

我假设您提到的输出是错误数据,并且您希望显示错误数据。

const data = {
    Weight: {
      errors: ["Hello My name is John"]
    }
};

要使用上述数据提醒用户,您可以使用

alert(data.Weight.errors[0])

CodeSandbox 的片段上进行测试

如果args是您的对象,您可以简单地提醒args.Weight.errors并且,如果有多个错误,请添加join(', ')以列出它们,以,分隔。

 let args = { "Weight": { "errors": [ "Hello My name is John" ] } }; alert(args.Weight.errors.join(', '));

JavaScript 类型错误,将 object 打印为 '#<object> ' 细绳<div id="text_translate"><p>可能是一个幼稚的问题 - 如果执行此代码段(我正在使用 Node.js v12.16.3运行,除了错误类型之外,Chrome 的结果相同): </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="true"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> const obj = {} Object.defineProperty(obj, 'a', { writable: false, value: 13 }) obj.a = 14</pre></div></div><p></p><p> 显然,它会抛出一个错误,但该错误的消息字符串具有 object 的奇怪表示:</p><blockquote><p> TypeError:无法分配给 object '#&lt;Object&gt;' 的只读属性“a”</p></blockquote><p> 问题是 - 为什么它被字符串化为#&lt;Object&gt; ?</p><p> 在 object 上定义toString方法将呈现它,就好像它是用Object.prototype.toString.call(obj)调用的: </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="true"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> const obj = { toString () { return 'stringified obj' } } Object.defineProperty(obj, 'a', { writable: false, value: 13 }) console.log(`${obj}`) obj.a = 14</pre></div></div><p></p><blockquote><p> TypeError:无法分配给 object '[object Object]' 的只读属性 'a'</p></blockquote><p> 虽然console.log输出正确。 如何使TypeError output 成为正确的字符串表示形式? 它在内部使用什么?</p></div></object>

[英]JavaScript TypeError, prints object as '#<Object>' string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何提醒javascript对象 JavaScript中的警报对象 JavaScript 类型错误,将 object 打印为 '#<object> ' 细绳<div id="text_translate"><p>可能是一个幼稚的问题 - 如果执行此代码段(我正在使用 Node.js v12.16.3运行,除了错误类型之外,Chrome 的结果相同): </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="true"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> const obj = {} Object.defineProperty(obj, 'a', { writable: false, value: 13 }) obj.a = 14</pre></div></div><p></p><p> 显然,它会抛出一个错误,但该错误的消息字符串具有 object 的奇怪表示:</p><blockquote><p> TypeError:无法分配给 object '#&lt;Object&gt;' 的只读属性“a”</p></blockquote><p> 问题是 - 为什么它被字符串化为#&lt;Object&gt; ?</p><p> 在 object 上定义toString方法将呈现它,就好像它是用Object.prototype.toString.call(obj)调用的: </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="true"><div class="snippet-code"><pre class="snippet-code-js lang-js prettyprint-override"> const obj = { toString () { return 'stringified obj' } } Object.defineProperty(obj, 'a', { writable: false, value: 13 }) console.log(`${obj}`) obj.a = 14</pre></div></div><p></p><blockquote><p> TypeError:无法分配给 object '[object Object]' 的只读属性 'a'</p></blockquote><p> 虽然console.log输出正确。 如何使TypeError output 成为正确的字符串表示形式? 它在内部使用什么?</p></div></object> Javascript,console.log打印prints对象,但属性未定义 第一次Javascript对象警报 JavaScript:将对象名称作为字符串 什么javascript对象打印为false,是真的,并且是类型“对象”? 在JS中,当我“ alert()”传递给函数的参数值时,它会打印出[object Object],为什么? 提醒对象 Javascript警报消息运行时错误对象预期
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM