Подтвердить что ты не робот

Удалить $$ hashKey из массива

$scope.appdata = [{name: '', position: '', email: ''}];

Это массив, который я создал в контроллере angular.

Затем я вставил некоторые значения в массив с помощью метода push:

$scope.appdata.push({name: 'jenson raby', position: '2', email: '[email protected]'});

Это значения массива после вставки:

$$hashKey:"00F",name:"jenson raby",position:"2",email:"[email protected]",

Здесь добавлен дополнительный $$hashKey в массив после вставки, но мне нужно удалить это из массива.

4b9b3361

Ответ 1

На основании вашего комментария, что вам нужно вставить массив в базу данных, я собираюсь предположить, что вы преобразовываете его в строку JSON, а затем сохраняете ее в БД. Если это неверно, сообщите мне, и я посмотрю, смогу ли я пересмотреть этот ответ.

У вас есть два варианта изменения массива при преобразовании его в JSON. Первый - angular.toJson, который является удобным методом, который автоматически разделяет любые имена свойств с ведущим $$ до сериализации массива (или объекта). Вы бы использовали его следующим образом:

var json = angular.toJson( $scope.appdata );

Другим вариантом, который вы должны использовать, если вам нужно более мелкое зернистое управление, является аргумент replacer встроенной функции JSON.stringify. Функция replacer позволяет фильтровать или изменять свойства, прежде чем они будут сериализованы в JSON. Вы бы использовали его так: $$hashKey:

var json = JSON.stringify( $scope.appdata, function( key, value ) {
    if( key === "$$hashKey" ) {
        return undefined;
    }

    return value;
});

Ответ 2

Быстрое решение для ленивых людей:

JSON.parse(angular.toJson($scope.appdata))