【发布时间】:2020-05-29 07:14:54
【问题描述】:
我想问一下如何从数组中选择一个数据,而不使用随机函数选择另一个?
{
no: 1,
id_pertanyaan: "9",
pertanyaan: "Alat indra yang paling peka untuk membedakan benda panas dan benda dingin adalah?",
point: "1",
pilA: "Hidung",
pilB: "Telinga",
pilC: "Kulit",
cabang: "IPA",
jawaban: "Kulit",
keterangan: "Alat indra yang paling peka untuk membedakan benda panas dan benda dingin adalah?"
},
{
no: 2,
id_pertanyaan: "11",
pertanyaan: "Zat hijau daun disebut juga dengan?",
point: "1",
pilA: "Floem",
pilB: "Klorofil",
pilC: "Xylem",
cabang: "IPA",
jawaban: "Klorofil",
keterangan: "Zat hijau daun disebut juga dengan?"
},
这是我的功能
//console.log(this.state.gagec);
var item = this.state.pertanyaande[
Math.floor(Math.random() * this.state.pertanyaande.length)
];
this.setState(
{
id_pertanyaan: item.id_pertanyaan,
pertanyaan: item.pertanyaan,
point: item.point,
pilA: item.pilA,
pilB: item.pilB,
pilC: item.pilC,
jawaban: item.jawaban,
keterangan: item.keterangan,
},
() => {
this.setTimer();
}
);
上面的代码是我尝试能够随机获取数组,但它引发了新问题,因为有时会出现相同的数据,我想以一种方式只显示数组中的数据(不是全部)一、如何获取数组中的第一个数据,然后我再次运行脚本得到第二个数组数据?
【问题讨论】:
-
您想显示数组的每个条目,还是在全部被选中之前可能存在重复项? (如 1-2-1-3)
-
noo,我只想显示 1 个数据,但我让它随机,所以如果我运行该函数,可能会出现相同的数据,所以我只需要从中获取一个数据上面的数组,如果我重新运行上面的函数,我会得到除了刚刚得到的数据之外的其他数据
-
那么你需要保存之前渲染对象的id,这样以后就不会直接再次渲染了
-
感谢您的建议顺便说一句,实际上我有我的答案,只是让它不是随机的并将其更改为状态,因此如果 id 1 处于活动状态,那么如果函数重新运行,它将获得 id 2因为状态+1
标签: arrays reactjs react-native