Array添加了额外的方括号

时间:2018-01-17 08:31:32

标签: javascript arrays object

我的问题是SCORES,当我在console.log整个对象时,得分部分以某种方式显示了一组额外的括号。

$(".submit").on("click", function() {

  var newRoommate = {
    "firstname": $('#first_name').val().trim(),
    "lastname": $('#last_name').val().trim(),
    "photo": $('#user_photo').val().trim(),
    scores: [
      $('#question_1').val(),
      $('#question_2').val(),
      $('#question_3').val(),
      $('#question_4').val(),
      $('#question_5').val(),
      $('#question_6').val(),
      $('#question_7').val(),
      $('#question_8').val(),
      $('#question_9').val(),
      $('#question_10').val()
    ],
    scoresInput
  };
  console.log(newRoommate); // .... scores[]: Array(10)

为什么显示分数[]:?

理想情况下,我希望它在console.log时产生类似的结果。

{
    firstname:"Ricky",
    lastname:"Bobby",
    photo:"http://www.topcelebsjackets.com/wp-content/uploads/2017/03/Talladega-Nights-Wonder-Bread-Ricky-Bobby-Jacket-6-570x708.jpg",
    scores:[
        5,
        1,
        4,
        4,
        5,
        1,
        2,
        5,
        4,
        1
      ]
  }

1 个答案:

答案 0 :(得分:1)

Chrome,Firefox,NodeJS等对于同一console.log声明会有不同的结果。

这是因为console.log不是由JS提供的函数,但实际上实现的是与运行JS的每个环境不同的实现。如果您使用原始JS(例如,Chrome V8),您会注意到console甚至没有定义(其中包括documentwindow })

在您的情况下,scores[]: Array(10)实际上是在说您有一个scores键,它是一个数组,并且有10个元素

相关: Throwing custom error doesn't preserve Error formatting in the log