一尘不染

从数组中删除$$ hashKey

angularjs

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

这是我在角度控制器中创建的数组。

然后,我使用push方法将一些值插入到数组中:

$scope.appdata.push({name: 'jenson raby', position: '2', email: 'jensonraby@gmail.com'});

这是插入后的数组值:

$$hashKey:"00F",name:"jenson raby",position:"2",email:"jensonraby@gmail.com",

$$hashKey插入之后,这里已经向数组添加了额外的东西,但是我需要从数组中删除它。


阅读 317

收藏
2020-07-04

共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;
});
2020-07-04