データの追加
とりあえず既存のデータを取得します
let mistakes = JSON.parse( localStorage.getItem('mistakes') ) || [];
キーに何も入っていないことを考慮します。
データが含まれているかどうか確認します
<?php foreach ($ids as $id): ?>
if ( !mistakes.includes(<?php echo $id; ?>) ) { ... }
<?php endforeach; ?>
データをプッシュします
if ( ... ) {
mistakes.push(<?php echo $id ?>);
}
データをセットします
<?php endforeach; ?>
localStorage.setItem('mistakes', JSON.stringify(mistakes));
【失敗例】
<?php foreach ($ids as $id): ?>
let mistakes = JSON.parse( localStorage.getItem('mistakes') ) || [];
if ( !mistakes.includes($id) ) {
localStorage.setItem( 'misktakes', JSON.stringify([...mistake, $id]) );
}
<?php endforeach; ?>
let mistakesはforeachの外に出してあげないと、
「Identifier ‘mistakes’ has already been declared」(繰り返し宣言してるぞエラー)
というエラーが発生し、最初の$idしか保存されません。
BACK