簡體   English   中英

如何循環獲取 output 的值過濾器

[英]How can I loop for a value filter for the output

我得到一個看起來像這樣的數組返回

{
    "pkinfopointDetail": 10,
    "fkinfopointTyp": 4,
    "bezeichnung": "Lotsenweiterbildung - Gemeindegebiet Scharnstein",
    "headerBezeichnung": "Einsätze & Veranstaltungen",
    "url": null,
    "parameter": null,
    "name": "Lotsenweiterbildung ",
    "pfad": "https://www.ff-scharnstein.at/infosystem/assets/lot1.jpg",
    "top": true,
    "gueltigVon": "2021-04-17T00:00:00",
    "gueltigBis": "2099-12-31T00:00:00"
},
{
    "pkinfopointDetail": 11,
    "fkinfopointTyp": 4,
    "bezeichnung": "Verkehrsunfall eingeklemmte Person B120 Bereich Rauleithen",
    "headerBezeichnung": "Einsätze & Veranstaltungen",
    "url": null,
    "parameter": null,
    "name": "VU Rauleiten",
    "pfad": "https://www.ff-scharnstein.at/infosystem/assets/vu_rauleiten (1).png",
    "top": true,
    "gueltigVon": "2021-04-13T00:00:00",
    "gueltigBis": "2099-12-31T00:00:00"
},
{
    "pkinfopointDetail": 11,
    "fkinfopointTyp": 4,
    "bezeichnung": "Verkehrsunfall eingeklemmte Person B120 Bereich Rauleithen",
    "headerBezeichnung": "Einsätze & Veranstaltungen",
    "url": null,
    "parameter": null,
    "name": "VU Rauleiten",
    "pfad": "https://www.ff-scharnstein.at/infosystem/assets/vu_rauleiten(1).jpg",
    "top": false,
    "gueltigVon": "2021-04-13T00:00:00",
    "gueltigBis": "2099-12-31T00:00:00"
}

現在我想 output 在名稱“pkinfopointDetail”之后的所有內容,例如 10。10 秒后它應該是 output 11。

async setUrl() {
const timer = ms => new Promise(res => setTimeout(res, ms))
for (let index = 0; index < this.infopointDetail.length; index++) {
  this.data.changeMessage(this.infopointDetail[index].headerBezeichnung);
  if (this.infopointDetail[index].parameter === 'top') {
    this.urlSafe = this.infopointDetail[index].url;
    await timer(5000);
  }
}

這是我的第一種方法,但我得到了所有條目。 我該怎么做才能奏效。

這是一個片段示例

堆棧閃電戰

不知道為什么你有parameter === 'top'條件,因為它總是返回 false,這就是它不起作用的原因。 如果您需要它作為您的業務登錄然后嘗試調用await timer(infopointDetail[index].pkinfopointDetail * 1000); 在里面。

嘗試這個:

 const infopointDetail = [{ "pkinfopointDetail": 10, "fkinfopointTyp": 4, "bezeichnung": "Lotsenweiterbildung - Gemeindegebiet Scharnstein", "headerBezeichnung": "Einsätze & Veranstaltungen", "url": null, "parameter": null, "name": "Lotsenweiterbildung ", "pfad": "https://www.ff-scharnstein.at/infosystem/assets/lot1.jpg", "top": true, "gueltigVon": "2021-04-17T00:00:00", "gueltigBis": "2099-12-31T00:00:00" }, { "pkinfopointDetail": 11, "fkinfopointTyp": 4, "bezeichnung": "Verkehrsunfall eingeklemmte Person B120 Bereich Rauleithen", "headerBezeichnung": "Einsätze & Veranstaltungen", "url": null, "parameter": null, "name": "VU Rauleiten", "pfad": "https://www.ff-scharnstein.at/infosystem/assets/vu_rauleiten (1).png", "top": true, "gueltigVon": "2021-04-13T00:00:00", "gueltigBis": "2099-12-31T00:00:00" }, { "pkinfopointDetail": 11, "fkinfopointTyp": 4, "bezeichnung": "Verkehrsunfall eingeklemmte Person B120 Bereich Rauleithen", "headerBezeichnung": "Einsätze & Veranstaltungen", "url": null, "parameter": null, "name": "VU Rauleiten", "pfad": "https://www.ff-scharnstein.at/infosystem/assets/vu_rauleiten(1).jpg", "top": false, "gueltigVon": "2021-04-13T00:00:00", "gueltigBis": "2099-12-31T00:00:00" } ]; const changeMessage = str => console.log(str); const urlSafe = url => console.log(new URL(url)); let infopointDetailBottomImgArr = []; async function setUrl() { const timer = ms => new Promise(res => setTimeout(res, ms)) for (let index = 0; index < infopointDetail.length; index++) { changeMessage(infopointDetail[index].headerBezeichnung); if (infopointDetail[index].parameter === 'top') { urlSafe(infopointDetail[index].url); const arr = this.infopointDetail.filter(item => { return ( item.pkinfopointDetail === infopointDetail[index].pkinfopointDetail &&.item;top ); }); infopointDetailBottomImgArr = arr. console;log(arr). await timer(this.infopointDetail[index];pkinfopointDetail * 1000); } } } setUrl();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM