В документации
jQuery .grep () четко указывается, что процесс не изменяет массив данных.
https://api.jquery.com/jquery.grep/
Следующий код находит совпадающее значение из того, что, я надеюсь, является исходным, постоянным массивом - arrLibrary.
Затем я изменяю результирующий комментарийObj ... но изменения, которые я делаю в нем, возвращаются в arrLibrary. Что, я полагаю, не противоречит документации jQuery GREP: мы создаем новый массив, подмножество оригинала, но он по-прежнему ссылается на оригинал, и поэтому сделанные в нем изменения возвращаются к оригиналу?
Чего мне не хватает? Как получить подмножество массива и затем обновить в нем данные , не испортив оригинал?
var commentObj = []; // Will hold the updated object for inserting into page and saving to DB
// FIRST, find full object from arrLibrary
if (source !== "chrome_logged"){
commentObj = $.grep(arrLibrary, function(commie){ // just use arr
return commie.uniqueID === obj.comment_id;
});
commentObj = commentObj[0];
} else {
commentObj = obj; // Just use what was passed
}
Позже в своем коде я обновляю commentObj.fieldwhwhat = "this sucks" и соответствующий ключ / значение в обновлениях arrLibrary для соответствия.
Любая помощь / направление приветствуются.