javascript - 使用 forEach 将对象推入数组
问题描述
我有一个点击事件,它改变了我想组合成一个类似 json 的对象的三个元素的值:
function generateNumbers() {
let a = Math.random()
let b = Math.random()
let c = Math.random()
console.log({
"numbers": [
{"a": a, "b": b, "c": c}
]
})
}
<button onclick="generateNumbers()">Three Numbers</button>
而不是 replace a
, b
,c
我想在{"a": a, "b": b, "c": c}
每次点击时添加另一个对象。这可能吗?
期望的输出
{
"numbers": [
{
"a": 0.795741457922079,
"b": 0.07941685760724382,
"c": 0.048012832026655516
},
{
"a": 0.17600389141580575,
"b": 0.4720288949307833,
"c": 0.8079844242898715
},
]
}
解决方案
您需要创建一个初始对象,其中包含numbers
作为数组的属性,您可以在其中推送新生成的对象a
,b
以及c
属性。阅读.push()
:
该
push()
方法将一个或多个元素添加到数组的末尾并返回数组的新长度。
尝试如下:
const data = {
numbers: []
};
function generateNumbers() {
let a = Math.random()
let b = Math.random()
let c = Math.random()
data.numbers.push({"a": a, "b": b, "c": c});
console.log(data);
}
<button onclick="generateNumbers()">Three Numbers</button>
我希望这有帮助!
推荐阅读
- python - 从 pandas df 在 x 轴上绘制字数及其在 y 轴上的出现
- android - 我的“MainActivity”不断崩溃。我不知道是我的代码、数据库设置还是其他原因
- python-3.x - 输入被意外调用。昨天还在工作,但从 python3.9 开始就没有了
- python - 通过跳帧创建视频时视频不播放
- angular - Angular 十进制管道语言环境依赖于浏览器
- wordpress - Wordpress“指向现有内容的链接”搜索不起作用
- angular - 在 Jasmine 中使用 catchError、throwError
- firebase - 错误:main.dart 中未定义名称“Firebase”
- python - 尝试从数据框中循环一列并尝试获取该列中所有行的情绪分析。我无法得到那个
- javascript - formData.set 在反应中没有按预期工作