JJ プログラム仙人修行日誌

2024/04/20 からは、プログラム仙人修行の日誌を書いてます。

wiki, markdown マイエディター

JavaScript の配列に要素を追加するのは。

.append( ) で、なく .push(要素) でした。

.pop( ) 取り出して、配列の最後の要素が削除されないかも。 配列からの要素の取り出しは、単純に 配列名[添字] でやりました。

現在、CliWiki をメンテンス中

github.com

格納しているページは、世代も保管しているため、長く使用しているとlocalStorage が爆発します。 今日は、localStorage から、CliWiki 関連の情報をクリアを実装しました。

最初、for ループのループの回数を、localStorage の個数でやっており、そのループの中で、localStorege からデータを削除したいたので、動作がおかしく悩んでいました。 削除作業は別にループでやらないとね。 このバグ、昔から何度も出していますますね。

function clearAllPage(){
        const storage = localStorage;
        let keys = []
        for (let i=0, limit=storage.length; i<limit; i++) {
                let k = storage.key(i);
                keys.push(k)
        } 
        console.log("削除開始")
        console.log(keys.length)
        for (let i=0; i<keys.length; i++) {
                k = keys[i]
                console.log(k, "確認");
                if(k.substring(0, 3)=="Cli"){
                        console.log(k, "削除");
                        storage.removeItem(k)
                }
        }
        alert("内部メモリがクリアされました。ブラウザが不安定です。ブラウザを終了してください。")
}