localstorage存数据不覆盖原数据

function appendLocal(key, obj) {

            if (obj == null) return;

            var temp, tempStr = '';

            try {

                if (localStorage.getItem(key) == null) throw new Error('空或undefined')

                temp = JSON.parse(localStorage.getItem(key));

            } catch (err) {

                // 当localStorage中没有对应key,或key对应内容为空、undefined,或parse出错时

                temp = [];

            }

            temp = temp.map((item) => {

                return JSON.stringify(item);

            });

            // 去重

            if (temp.indexOf(JSON.stringify(obj)) === -1) temp.push(JSON.stringify(obj));

            temp.forEach((item, index, arr) => {

                arr.length === index + 1 ? tempStr += `${item}` : tempStr += `${item},`;

            });

            localStorage.setItem(key, `[${tempStr}]`);

        }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容