어레이에서 $$hashKey 제거
$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
삽입 후 어레이에 추가되었지만 어레이에서 삭제해야 합니다.
어레이를 데이터베이스에 삽입해야 한다는 의견을 바탕으로 JSON 문자열로 변환하여 DB에 저장하는 것으로 가정합니다.만약 틀렸다면 알려주시면 제가 이 답변을 수정할 수 있는지 알아보겠습니다.
어레이를 JSON으로 변환할 때 어레이를 수정하기 위한 두 가지 옵션이 있습니다.첫 번째 방법은 선두가 있는 속성 이름을 자동으로 삭제하는 편리한 방법입니다.$$
어레이(또는 오브젝트)를 시리얼화하기 전에 참조해 주세요.다음과 같이 사용할 수 있습니다.
var json = angular.toJson( $scope.appdata );
다른 옵션은 보다 세밀한 제어가 필요한 경우 사용해야 합니다.replacer
인수가 포함되어 있습니다.리페이서 기능을 사용하면 속성이 JSON에 시리얼화되기 전에 필터링 또는 변경할 수 있습니다.이걸 이용해서 옷을 벗기면$$hashKey
:
var json = JSON.stringify( $scope.appdata, function( key, value ) {
if( key === "$$hashKey" ) {
return undefined;
}
return value;
});
게으른 사람들을 위한 빠른 해결책:
JSON.parse(angular.toJson($scope.appdata))
앵글 뒤에 있는 코드.toJson 메서드는 다음과 같습니다.
function toJson(obj, pretty) {
if (isUndefined(obj)) return undefined;
if (!isNumber(pretty)) {
pretty = pretty ? 2 : null;
}
return JSON.stringify(obj, toJsonReplacer, pretty);
}
JSON.stringify 메서드가 호출되면 $로 시작하는 모든 메서드가 삭제됩니다.
function toJsonReplacer(key, value) {
var val = value;
if (typeof key === 'string' && key.charAt(0) === '$' && key.charAt(1) === '$') {
val = undefined;
} else if (isWindow(value)) {
val = '$WINDOW';
} else if (value && window.document === value) {
val = '$DOCUMENT';
} else if (isScope(value)) {
val = '$SCOPE';
}
return val;
}
따라서 Sean의 asnwer를 기반으로 하기 위해 JSON.stringify 메서드를 덮어쓰고 필요한 작업을 수행할 수 있습니다.각 방문의 문서에서 자세한 내용을 보려면 https://github.com/angular/angular.js/pull/14221를 방문하십시오.
언급URL : https://stackoverflow.com/questions/32344495/remove-hashkey-from-array
'programing' 카테고리의 다른 글
gson이 사용자 지정 역직렬화에서 표준 역직렬화를 호출함 (0) | 2023.03.29 |
---|---|
jQuery 클릭 이벤트가 Angular 내에서 발생하지 않음JS 템플릿 (0) | 2023.03.29 |
리액트 linter Airbnb proptypes 어레이 (0) | 2023.03.29 |
에서 클래스를 추가하는 방법에서 클래스를 추가하는 방법Wordpress에서 wp_nav_menu()를 사용하고 있습니까? (0) | 2023.03.29 |
Twitter Bootstrap Navbar with AngularJS - 접기가 기능하지 않음 (0) | 2023.03.29 |