Как добавить элемент в массив AngularJS/Javascript?

Рейтинг: 0Ответов: 1Опубликовано: 12.04.2015

Пытаюсь добавить новый элемент в массив. Массив $scope.messages имеет вид:

37: Object
38: Object 
   dialog: "534_544"
   from: "534"
   message: "sfsnfsiofsiofnosfiosf"
   read: "0"
   time: "1428772580"
   to: "544"
 ...
 39: Object

Для этого пробовал:

Получить один из элементов массива из $scope.messages: $scope.messages[38] и добавить его в этот же массив по номером 40, на что Angular выдает много ошибок в консоли.

var a = [];
a[40] = $scope.messages[38];
$scope.messages.push(a);

Изначальная задача добавить новый элемент в ng-repeat="message in messages" то бишь в массив: messages

Еще раз о структуру объекта $scope.messages:

 `1: Object 
dialog: "534_544"
from: "534"
message: "Test mEssage"
read: "0"
time: "1428852706"
to: "544"`

Ответы

▲ 2Принят

Мне кажется, что проблема в том, что a массив элементов. Это

var a = [];
a[40] = $scope.messages[38];
$scope.messages.push(a);

не добовлает $scope.messages[38] в $scope.messages номером 40, а добавляет массив a номером 40.

Наверно хочешь делать вот так

$scope.messages.push($scope.messages[38]);

или, если хочешь добавить именно номером 40, вот так

$scope.messages[40] = $scope.messages[38];