簡體   English   中英

遍歷數組匹配變量並分配條件以執行

[英]Loop through array match variable and assign condition to execute

目前,我正在構建可實時顯示天氣的網絡應用,但我堅持了自己的想法之一。 因此,我使用了免費的預測API,並采用了ICON的“對象”值(如果下雨,下雪等情況,圖標會在不同的時間顯示)。 我已經創建了一個數組,其中包含有關該對象值的所有可能選項:根據該預報API的文檔,顯示“ icon”,並且我在Img文件夾中准備了所有圖像。 所以我的想法是使用所有可能的天氣條件選項循環遍歷此數組,然后,如果與我的ICON變量匹配(根據我的API一直在變化),我希望能夠為CURRENT分配適當的圖像小麥狀況:降雨-分配Rain.png,或者如果正在下雪-分配Snow.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');
        }
    }   

無需循環:

if (~weatherConditions.indexOf(dayOneIconTokyo)) { // returns true if dayOneIconTokyo
                                                   // is in weatherConditions
    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');
    }
}

暫無
暫無

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

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