第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

本地存儲(chǔ)被覆蓋,而不是添加新元素(JavaScript)

本地存儲(chǔ)被覆蓋,而不是添加新元素(JavaScript)

小怪獸愛(ài)吃肉 2023-07-20 16:03:58
我想在本地存儲(chǔ)中存儲(chǔ)一組對(duì)象,但我只能將一個(gè)對(duì)象存儲(chǔ)到該數(shù)組中。所有新對(duì)象都會(huì)覆蓋索引 0 中的前一個(gè)對(duì)象。這是我的 JavaScript 代碼:class Track {    constructor (title, genre) {        this.title    = title;        this.genre    = genre;                this.id       = new Date().getTime();        this.creation = new Date();    }}class TrackList {    constructor () {        this.tracks = [];    }    newTrack(track) {        this.tracks.push(track);        this.saveLocalStorage();    }    saveLocalStorage() {        localStorage.setItem('tracks', JSON.stringify(this.tracks));    }}const addSongForm = document.querySelector('.addSongForm');addSongForm.addEventListener('submit', (e) => {    const songTitle = document.querySelector('.songTitle').value;    const songGenre = document.querySelector('.songGenre').value;    const newTrackForm = new Track(songTitle, songGenre);    const trackList = new TrackList();    trackList.newTrack(newTrackForm);});提前致謝!!
查看完整描述

1 回答

?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

首先獲取本地存儲(chǔ)的當(dāng)前內(nèi)容,然后將新對(duì)象放入數(shù)組中。


var currentTracks = localStorage.getItem('tracks');

localStorage.setItem('tracks', JSON.stringify(JSON.parse(currentTracks).concat(this.tracks)));

編輯:如果需要替換與新對(duì)象具有相同ID的當(dāng)前對(duì)象,則需要調(diào)整新數(shù)組。


/**

 * source : https://www.cnblogs.com/water-1/p/10780528.html

 */

function mergeArray(arr1,arr2){

    var _arr = new Array();

    for(var i=0;i<arr1.length;i++){

       _arr.push(arr1[i]);

    }

    for(var i=0;i<arr2.length;i++){

        var flag = true;

        for(var j=0;j<arr1.length;j++){

            if(arr2[i]['id']==arr1[j]['id']){

                flag=false;

                break;

            }

        }

        if(flag){

            _arr.push(arr2[i]);

        }

    }

    return _arr;

}


var currentTracks = JSON.parse(localStorage.getItem('tracks'));

localStorage.put('tracks', mergeArray(this.tracks, currentTracks));


查看完整回答
反對(duì) 回復(fù) 2023-07-20
  • 1 回答
  • 0 關(guān)注
  • 168 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)