我的对象包含以下格式:
[
{ },
{ }
]
但是我编写代码的方式,它将其添加为,
[
[
{ }
],
[
{ }
]
]
不知道发生了什么,这是我的代码:
var commentArray = [];
commentArray.push({
'text': comment,
'user': vm.user
});
reference.reference.comments.push(commentArray);
像这样的东西有效:
reference.reference.comments.push({
'text': comment,
'user': vm.user
});
但我想推commentArray
?
让我们看看我能否向你说清楚:
var commentArray = [];
// here you are creating an empty array called commentArray
commentArray.push({
'text': comment,
'user': vm.user
});
// Here you define an object, with 2 properties (text and user)
// and push it to commentArray you created so
// commentArray = [{'text': comment, 'user': vm.user}];
reference.reference.comments.push(commentArray);
/// here you push an array (commentArray) into another array (comments)
// so reference.reference.comments will be [[{'text': comment, 'user': vm.user}]];
我马上做一个工作的例子。
var comments = [];
var commentArray = [];
commentArray.push({
'text': 'comment',
'user': 'someuser'
});
console.log('comments:', comments);
console.log('commentArray:', commentArray);
comments.push(commentArray);
console.log('comments:', comments);
console.log('commentArray:', commentArray);
所以你不应该创建一个中间数组。您应该只创建对象。像这样:
var comment = {
'text': comment,
'user': vm.user
};
reference.reference.comments.push(comment);
或更直接地像这样:
reference.reference.comments.push({
'text': comment,
'user': vm.user
});
试试这个,你想把一个注释推送到你的注释数组,而不是数组到数组中。
var comment = {
'text': comment,
'user': vm.user
};
reference.reference.comments.push(comment);