Я создаю пользовательский скрипт Google Chrome, в котором будут храниться имена пользователей пользователей, которые пользователь выбрал для игнорирования. Все проигнорированные пользователи будут храниться локально с использованием API локального хранилища HTML5.jQuery extend overwrites part of array
Я использую jQuery, чтобы помочь добавить пользователей в массив JSON, который затем будет храниться локально. Моя проблема в том, что она всегда перезаписывает первый элемент.
Если я добавлю «testuser1», попробуйте добавить «testuser2», он сохранит детали для «testuser2» и «testuser1» исчезнет.
// Get users from localstorage
var ignored_users = JSON.parse(localStorage.getItem("ignore_list"));
// If NULL, prepare as JSON
if(ignored_users === null)
{
var ignored_users = {};
}
// Prep
var username = get_username_profile();
desc = prompt("Why do you want to ignore this user?");
// Add to list
add_to_list = [{
"username" : username,
"description" : desc
}];
$.extend(ignored_users, add_to_list);
localStorage["ignore_list"] = JSON.stringify(ignored_users);
// Highlight as ignored
$(".user_wrapper").css("background-color","#B40404");
Как выглядит «ignord_users» изначально? –
[{ \t "username": "test_user1", \t "desc": false }]; –
Почему бы вам просто не игнорировать_users.push()? –