【问题标题】:How to choose one data from an array without random如何从没有随机的数组中选择一个数据
【发布时间】: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


【解决方案1】:

我只需要使它不是随机的并将其更改为状态,因此如果 id 1 处于活动状态,那么如果函数重新运行,它将获得 id 2,因为 state+1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2010-12-10
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 2011-01-24
    相关资源
    最近更新 更多