Перемещение объектов в массиве
У меня есть этот код, где starred_messages является пустым массивом и starred_id это пустой объект.
В функции click я устанавливаю ключ и значение объекта и помещаю его в массив.
В первый раз это нормально, но при следующем щелчке функции вместо добавления нового объекта просто к следующему индексу массива. Это также добавление к предыдущим индексам.
Вот как выглядит массив в первый раз:
0: {msg_92: "<span class="chat-img pull-left"><img src="http://…on glyphicon-time"></span>26 Dec, 6:18 pm</small>"}
Вот как выглядит массив при втором щелчке мыши:
0: {msg_92: "<span class="chat-img pull-left"><img src="http://…on glyphicon-time"></span>26 Dec, 6:18 pm</small>"}, {msg_10: "<span class="chat-img pull-left"><img src="http://…on glyphicon-time"></span>26 Dec, 6:18 pm</small>"} 1: {msg_92: "<span class="chat-img pull-left"><img src="http://…on glyphicon-time"></span>26 Dec, 6:18 pm</small>"}, {msg_10: "<span class="chat-img pull-left"><img src="http://…on glyphicon-time"></span>26 Dec, 6:18 pm</small>"}
Обратите внимание, что он добавил второй объект также к 0-му индексу, а 1-й индекс содержит первый объект.
Я хочу добавить объекты по разным индексам.
Что я уже пробовал:
var starred_messages = []; var starred_id = {}; $(document).on('click', '.star', function () { var starred_msg_id = $(this).parent().attr('id'); var starred_msg = $(this).parent().html(); starred_id[starred_msg_id] = starred_msg; starred_messages.push(starred_id); });