Удаление объекта при объединении.
Привет всем.
if (localStorage.getItem('prevFirsts')){ stor = JSON.parse(localStorage.getItem('prevFirsts'))// это массив объектов } var firsts = document.querySelectorAll('.first') for (var i = 0; i < firsts.length; i++) { obj = {...} arr.push(obj) } if(stor){ var res = [...arr, ...stor]; }else{ var res = arr } Так есть сейчас. Но проблема в том, что при создании объекта в цикле, создаётся как минимум один не нужный. Как мне при объединении объектов проверять obj в arr на условие, что если obj.data == такому же значению, но в stor, значит этот обект не нужен в arr |
Крутой сервис, рекомендую: https://beautifier.io
Вам что-то типа такого нужно? var savedEntries = null, savedJson = localStorage.getItem('prevFirsts'); if (savedJson != null) { try { savedEntries = JSON.parse(savedJson); } catch (e) {} } var dataToIndexEntriesMap = savedEntries.reduce(function(map, item, index) { map[item.data] = index; return map; }, {}); var actualEntries = []; document.querySelectorAll('.first').forEach(function(node) { var item = { data: node.innerHTML, }; if (!(item.data in dataToIndexEntriesMap)) { actualEntries.push(item); } }); var result = [...actualEntries, ...(savedEntries ?? [])]; |
Цитата:
Цитата:
|
Всё работает. Ещё раз спасибо.
|
Часовой пояс GMT +3, время: 00:38. |