难以将 for Of 循环表达式转换为数组可迭代语句
Posted
技术标签:
【中文标题】难以将 for Of 循环表达式转换为数组可迭代语句【英文标题】:difficulty in coverting a forOf loop expression to array iterable statement 【发布时间】: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: `$pressuremb` ,
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;
)
在联系到这里之前,我已经搜索了互联网并阅读了很多文档以获取想法。请问,我错过了什么?
【问题讨论】:
【参考方案1】:你不是第二次解构:
试试这个:
results.forEach(( elementId, value ) =>
document.querySelector(elementId).innerText = value;
)
考虑到你的 sn-p
results.forEach( value =>
document.querySelector(elementId).innerText = value;
)
上面的value
将是数组的每个项目(这是一个具有两个属性的对象)。
【讨论】:
以上是关于难以将 for Of 循环表达式转换为数组可迭代语句的主要内容,如果未能解决你的问题,请参考以下文章
如何在for-of中使用array.slice转换for循环或为生成的列和行映射array.slice?
一文带你理解:可以迭代大部分数据类型的 for…of 为什么不能遍历普通对象?