亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js localStorage for 循環包含空字符串

js localStorage for 循環包含空字符串

慕碼人2483693 2024-01-18 14:40:32
我現在正在創建包含天氣信息的網站。我有一個特殊的表單(.html 文件),它添加新城市的信息作為無序列表。localStorage當用戶意外刷新頁面時,我還用于保存城市。localStorage據我所知,僅存儲字符串。當用戶添加新城市時,腳本會更新localStorage。為了刷新頁面,提供了刷新按鈕。當用戶刷新頁面時,所有城市都消失了,因此腳本將恢復所有城市localStorage。數組值在 JS 中[]表示為 String 值""。問題是,當腳本嘗試恢復城市時,""值也會作為城市值提供。代碼:    let cities = [];    if (localStorage.getItem("cities") !== null) {        cities = localStorage.getItem("cities").split(',');    }    console.log("cities = " + cities);    for (const city of cities) {        if (city !== "" && !screen_cities.includes(city)) {            const rnd = Math.random().toString();            const code = await add_new_li(city, rnd);            if (code === 1) {                console.warn("for city " + city + " code is " + code);                document.getElementById(rnd).remove();            }        }    }Array.prototype.forEach不是這樣,但由于異步函數我無法使用它add_new_li。請幫我。
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

使用 JSON.stringfy 和 JSON.parse,我們可以通過以下方式保存對象localStorage


let cities = [];

if (localStorage.getItem("cities") !== null) {

    cities = JSON.parse(localStorage.getItem("cities"))

}

console.log("cities = " + cities);


for (const city of cities) {

    if (city !== "" && !screen_cities.includes(city)) {

        const rnd = Math.random().toString();

        const code = await add_new_li(city, rnd);

        if (code === 1) {

            console.warn("for city " + city + " code is " + code);

            document.getElementById(rnd).remove();

        }

    }

}


// -------- save

cities.push('Shen Yang')

localStorage.setItem('cities', JSON.stringify(cities))


查看完整回答
反對 回復 2024-01-18
  • 1 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號