Javascript 数组添加了额外的方括号
我的问题是分数,当我console.log整个对象时,分数部分不知何故显示了一组额外的括号Javascript 数组添加了额外的方括号,javascript,arrays,object,Javascript,Arrays,Object,我的问题是分数,当我console.log整个对象时,分数部分不知何故显示了一组额外的括号 $(".submit").on("click", function() { var newRoommate = { "firstname": $('#first_name').val().trim(), "lastname": $('#last_name').val().trim(), "photo": $('#user_photo').val().trim(), s
$(".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
]
}
Chrome、Firefox、NodeJS等对同一
console.log
语句将产生不同的结果
这是因为console.log
不是JS提供的功能,而是JS运行的每个环境所提供的不同实现。如果以原始JS为例,您会注意到,控制台
甚至没有定义(比如文档
或窗口
)
在您的例子中,scores[]:Array(10)
实际上是指您有一个scores
键,它是一个数组,有10个元素
相关的:
这只是记录阵列时阵列的可视化。它实际上并没有向数组本身添加任何内容。您正在寻找
console.log(JSON.stringify(newRoommate))
maybe?很明显,这就是您的浏览器在记录数组对象时产生的结果。可能是浏览器首先执行scores.toString()的结果,但从远处很难分辨。谢谢,Adelin!我怀疑这是由浏览器生成的,这有助于澄清。