【问题标题】:Javascript pushing to single objectJavascript推送到单个对象
【发布时间】:2015-05-05 23:33:18
【问题描述】:

我想推送到类似于以下代码的单个对象

error = [];
error.push({name: 'Name is too short'});
error.push({email: 'Email address is too short'});

问题在于它会生成多个对象,而我只想创建一个。

您能否告诉我最好的方法或指出正确的方向,谢谢。

【问题讨论】:

  • 你为什么要让数组出错?你不能把它变成一个有多个错误键的对象吗?
  • error.push({name: 'Name is too short', email: 'Email address is too short'}); ?
  • 一个对象可以有多个属性。 {name: 'name', email: 'email' }

标签: javascript


【解决方案1】:

你不要 push 到一个对象,只是把它变成一个对象而不是一个数组并添加属性:

var error = {};
error.name = 'Name is too short';
error.email = 'Email address is too short';

【讨论】:

    【解决方案2】:

    请记住,您的 JSON 语法。在您的示例中,您将所有内容推送到数组中。您不想在此处“推送”任何内容,而是将属性附加到现有对象:

    var error = {};
    error.name = 'Name is too short';
    error.email = 'Email address is too short';
    

    【讨论】:

    • 我以为 OP 想保留他的阵列设置,但这可能是他真正想要的。
    【解决方案3】:

    您可以在将对象添加到数组后向对象添加内容:

    error[0].email = "Email address is too short";
    

    【讨论】:

      【解决方案4】:

      如果你使用的是 JQuery,你可以使用

      var object = $.extends({name: 'Name is too short'}, {email: 'Email address is too short'});
      

      如果你不使用 JQuery,Ryan Lynch 提供解决方案here

      【讨论】:

        猜你喜欢
        • 2014-06-07
        • 2021-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多