У меня есть программа, которая хранит данные в строковом массиве.Я использую специальные символы (вроде человека для чтения), чтобы извлечь данные из элементов массива.Для этого я использую функцию .match в JS.
var newAddress =siteinfo[selectedRecord].match(",siteAddr:(.*),siteLoc:")[1];
У меня есть несколько таких полей, которые хранятся в массиве для хранения различных категорий информации.Я пытаюсь заставить программу заменять несколько значений одновременно.Я пытался использовать функцию .replace, но знаю, что ее ограничения сводятся к созданию новой строки с изменением первой части строки.
siteinfo[selectedRecord]=stringifiedData.replace(newSite,projectName);
localStorage.setItem("sites", JSON.stringify(siteinfo));
var stringifiedData = JSON.stringify(siteinfo[selectedRecord]);
Я пытался изучить Regex и другие примеры того, как заменитьболее одной переменной за раз.Например, я хотел бы обновить элемент массива подходящего значения для «newAddress» и других переменных в одном и том же элементе, например «newLocation» и «newSite».
Я не уверен, как достичь своей цели, но я былудалось получить обновления в некоторой степени, обновляя только одну часть массива за раз, что добавляет кучу обратных косых черт в массиве, что далеко от идеала.Это то, что я делал до сих пор:
var stringifiedData = JSON.stringify(siteinfo[selectedRecord]);
siteinfo[selectedRecord]=stringifiedData.replace(newLocation,location);
localStorage.setItem("sites", JSON.stringify(siteinfo));
var stringifiedData = JSON.stringify(siteinfo[selectedRecord]);
siteinfo[selectedRecord]=stringifiedData.replace(newPlantNr,plantNumer);
localStorage.setItem("sites", JSON.stringify(siteinfo));
var stringifiedData = JSON.stringify(siteinfo[selectedRecord]);
siteinfo[selectedRecord]=stringifiedData.replace(newLocation,location);
localStorage.setItem("sites", JSON.stringify(siteinfo));
Я вызывал функцию со страницы HTML и заметил, что я получаю сообщение о том, что моя квота localalstorage была превышена, например Сбойчтобы выполнить 'setItem' для 'Storage': отображается Chrome.На самом деле данных не так много, но когда я смотрю на то, что хранится с использованием текущего метода, в результате операций JSON.stringify, сохраняющих каждое отдельное изменение, сохраняется много обратной косой черты.На рисунке ниже показана проблема, возникшая после однократного запуска функции обновления.
Я был бы очень признателен за помощь в замене всех данных в выбранном элементе массива сразу.Спасибо, ребята !!