【问题标题】:difficulty in coverting a forOf loop expression to array iterable statement难以将 for Of 循环表达式转换为数组可迭代语句
【发布时间】:2021-05-10 19:54:17
【问题描述】:

我目前在将天气应用程序中的 forOf 循环语句转换为数组可迭代表达式时遇到了困难。 forOf 语句有效,但 .eslintrc.JSON 将其标记为无限制语法错误。

给定数组:

 const results = [

    { elementId: '#result-temp', value: `${temp}°` },

    { elementId: '#result-place', value: place },

    { elementId: '#result-weather', value: weatherTitle },

    { elementId: '#result-weather-desc', value: weatherDesc },

    { elementId: '#result-feeling', value: `${feeling}°` },

    { elementId: '#result-humidity', value: `${humidity}%` },

    { elementId: '#result-pressure', value: `${pressure}mb` },

    { elementId: '#result-mintemp', value: `${minTemp}°` },

    { elementId: '#result-maxtemp', value: `${maxTemp}°` },

  ];

有效的 forOf 表达式:

  for (const { elementId, value } of results) {

    document.querySelector(elementId).innerText = value;

  }

我使用 forEach 但不起作用

 results.forEach( value => {

  document.querySelector(elementId).innerText = value;
  
  })
}

在联系到这里之前,我已经搜索了互联网并阅读了很多文档以获取想法。请问,我错过了什么?

【问题讨论】:

    标签: javascript html loops dom iterable


    【解决方案1】:

    你不是第二次解构:

    试试这个:

    results.forEach(({ elementId, value }) => {
      document.querySelector(elementId).innerText = value;
    })
    

    考虑到你的 sn-p

    results.forEach( value => {
    
      document.querySelector(elementId).innerText = value;
      
      })
    

    上面的value 将是数组的每个项目(这是一个具有两个属性的对象)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多