我的对象包含以下格式:
[
{ },
{ }
]
但是我编写代码的方式是将其添加为
[
[
{ }
],
[
{ }
]
]
不确定发生了什么,这是我的代码:
var commentArray = [];
commentArray.push({
'text': comment,
'user': vm.user
});
reference.reference.comments.push(commentArray);
类似的作品:
reference.reference.comments.push({
'text': comment,
'user': vm.user
});
但是我想按commentArray
吗?
答案 0 :(得分:1)
让我看看您是否可以清楚知道>
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
});
答案 1 :(得分:0)
尝试此操作,您想将单个注释推入comment数组,而不是将数组推入数组。
var comment = {
'text': comment,
'user': vm.user
};
reference.reference.comments.push(comment);