【问题标题】:Javascript alert with all objects所有对象的 Javascript 警报
【发布时间】:2020-02-23 03:12:26
【问题描述】:

如何发送包含所有对象的单个警报?每次我尝试它都会出现 undefined 或 [object, object]

var array  =[];


function object ( name, username, password)
this.name = name
this.user = username
this.pwd  = password

var object1 = new object ("jack","jacky","123") 
var object2 = new object ("bob", "bobby", "qwe")

array.push(object1);
array.push(object2);

alert () //What to put??

【问题讨论】:

    标签: javascript arrays object push alert


    【解决方案1】:
    var array = [];
    
    function object(name, username, password) {
      return {
        name: name,
        user: username,
        pwd: password,
      }
    }
    
    var object1 = new object("jack", "jacky", "123") 
    var object2 = new object("bob", "bobby", "qwe")
    
    array.push(object1, object2);
    
    

    然后是这个:

    var message = 'array'.concat(':', ' ', JSON.stringify(array, null, 2))
    alert(message) 
    /*
    array: [
      {
        "name": "jack",
        "user": "jacky",
        "pwd": "123",
      },
      {
        "name": "bob",
        "user": "bobby",
        "pwd": "qwe",
      }
    ]
    */
    

    或者这个……

    array.forEach((arrayItem) => {
      var message = 'object'.concat(':', ' ', JSON.stringify(arrayItem, null, 2))
      alert(message)
    })
    
    /*
    object:   {
      "name": "jack",
      "user": "jacky",
      "pwd": "123",
    }
    */
    /*
    object: {
      "name": "bob",
      "user": "bobby",
      "pwd": "qwe",
    }
    */
    

    或者这个……

    var message = array.reduce((_message, arrayItem) => {
      var _objectMessage = 'object'.concat(':', ' ', JSON.stringfiy(arrayItem, null, 2), '\n')
      _message = _message.concat(_objectMessage)
      return _message
    }, ''}
    alert(message)
    /*
    object:   {
      "name": "jack",
      "user": "jacky",
      "pwd": "123",
    }
    object: {
      "name": "bob",
      "user": "bobby",
      "pwd": "qwe",
    }
    */
    

    【讨论】:

      【解决方案2】:

      如果我理解你的意思正确,你可能想用array item 循环:

      var array  =[];
      
      
      function object ( name, username, password) {
        this.name = name
        this.user = username
        this.pwd  = password
      }
      
      var object1 = new object ("jack","jacky","123") 
      var object2 = new object ("bob", "bobby", "qwe")
      
      array.push(object1);
      array.push(object2);
      
      array.forEach(function (item) {
        alert("name: " + item.name + ", user: " + item.user + ", pwd: " + item.pwd);
      });

      或者,如果您想用一条消息显示所有值,您可以试试这个:

      var array  =[];
      
      
      function object ( name, username, password) {
        this.name = name
        this.user = username
        this.pwd  = password
      }
      
      var object1 = new object ("jack","jacky","123") 
      var object2 = new object ("bob", "bobby", "qwe")
      
      array.push(object1);
      array.push(object2);
      
      var message = "";
      
      array.forEach(function (item, index) {
        message += "object" + (index + 1) + ": name: " + item.name 
                + ", user: " + item.user + ", pwd: " + item.pwd + "\n";
      });
      
      alert(message);

      【讨论】:

      • 几乎!我只需要一个警报中的所有这些。我尝试了警报(item.name,item.user,item.pwd),但它不断发送每个对象的多个警报而不是一个警报
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多