循环遍历数组匹配变量并分配要执行的条件

Loop through array match variable and assign condition to execute

本文关键字:分配 执行 条件 变量 遍历 数组 循环      更新时间:2023-09-26

目前我正在构建能够实时显示天气的网络应用程序,但我坚持我的一个想法。所以我正在使用免费的预测 API,我正在为 ICON 获取对象值(图标在不同时间表示是否下雨、下雪等)。我已经创建了包含有关此对象值的所有可能选项的数组:根据该预测 API 的文档"图标",并且我已经在我的 Img 文件夹中准备了所有图像。所以我的想法是使用天气条件的所有可能选项遍历这个数组,然后如果与我的 ICON 变量匹配,该变量根据我的 API 一直在变化,我希望能够为 CURRENT 小麦条件分配正确的图像:雨 - 分配雨.png或者如果是下雪 - 分配雪.png等等。

这是我到目前为止的代码,但我在将我的数组与此 ICON 变量输出匹配时遇到问题。我还制作了我所有图像的数组,如果有匹配,我想分配这些图像。

var weatherConditions = [
            'Clear',
            'Possible Light Precipitation',
            'Light Precipitation',
            'Precipitation',
            'Drizzle',
            'Possible Drizzle',
            'Possible Light Rain',
            'Light Rain',
            'Rain',
            'Heavy Rain',
            'Possible Light Sleet',
            'Light Sleet',
            'Sleet',
            'Heavy Sleet',
            'Possible Flurries',
            'Flurries',
            'Possible Light Snow',
            'Light Snow',
            'Snow',
            'Heavy Snow',
            'Windy',
            'Dangerously Windy',
            'Foggy',
            'Mostly Cloudy',
            'Overcast',
            'Dry and Breezy',
            'Drizzle and Dangerously Windy'
        ]; 
    var arrayLength = weatherConditions.length;
    for (var i = 0; i < arrayLength; i+=1){
        if ( weatherConditions[i].indexOf(dayOneIconTokyo) ){
            console.log('working');
        } else{
            console.log('not in the array');
        }
    }   

假设dayOneIconTokyo是一个数组

for (var i = 0; i < dayOneIconTokyo.length; i++){
    if ( weatherConditions.indexOf(dayOneIconTokyo[i]) ){
        console.log('working');
    } else{
        console.log('not in the array');
    }
}

无需循环:

if (~weatherConditions.indexOf(dayOneIconTokyo)) { // returns true if dayOneIconTokyo
                                                   // is in weatherConditions
    console.log('working');
} else{
    console.log('not in the array');
}