javascript - 使用 JavaScript 将数据推送到对象数组中
问题描述
我有一个对象数组,一旦用户填写并单击带有 id: 的按钮'add'
,我想将此数据推送到第一个 master.review 中。
我试过了,push()
但我得到'list[0].review[j].push is not a function'。
我做了一些研究,发现我应该这样做:
list[0].review[j] = newData
但即使是这个也没有工作。另外,我想在用户想要添加东西的时候添加数据。
let list = [
{
master: "Leo",
review: [{
name: 'Bob',
text: 'good'
},
{
name: 'Elly',
text: 'ok ok'
},
]
},
{
master: "Emily",
review: [{
name: 'Greg',
text: 'omg!'
},
{
name: 'Joe',
text: 'SO so..'
},
]
},
]
$('#add').on('click', function() {
let name = document.getElementById('name').value;
let text = document.getElementById('text').value;
let newData = [{
name: name,
text: text,
}]
for (let i = 0; i < list.length; i++) {
for (let j = 0; j < list[i].review.length; j++) {
list[0].review[j].push(newData)
console.log(list)
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name" placeholder="Your Name" required/>
<input type="text" id="text" placeholder="Your Name" required/>
<input type="button" id="add" />
解决方案
不需要循环,因为您想将 newData 对象推送到list[0]
. 为了推入数组使用push
功能 -list[0].review.push(newData);
let list = [
{
master: "Leo",
review: [{
name: 'Bob',
text: 'good'
},
{
name: 'Elly',
text: 'ok ok'
},
]
},
{
master: "Emily",
review: [{
name: 'Greg',
text: 'omg!'
},
{
name: 'Joe',
text: 'SO so..'
},
]
},
]
$('#add').on('click', function() {
let name = document.getElementById('name').value;
let text = document.getElementById('text').value;
let newData = {
name: name,
text: text,
};
list[0].review.push(newData);
console.log(list[0].review);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name" placeholder="Your Name" required/>
<input type="text" id="text" placeholder="Your Name" required/>
<input type="button" id="add" value= "add" />
推荐阅读
- sql - 更新声明,忽略重复值
- azure - 将增量数据从 AWS S3 复制到 Azure Data Lake Storage Gen2 失败
- git - 如何使用 git 简单地查看以前的版本而不还原或重置?
- android - 排毒构建成功,但排毒测试失败
- wpf - 为什么格式错误的 XAML 似乎编译然后在运行时失败?
- windows - Disable-PnpDevice 失败且设备状态为“错误”
- android - 从浏览器重定向到 Android 应用程序 - 在发布应用程序之前
- c# - C# - 写入不同数组时对象数组中的值被覆盖
- selenium - 如何使用 Codeception 执行 Javascript 并获取返回值
- scala - 由于多个 scala lib 版本,intellij 2019.02 无法运行任何 scala 类