繁体   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