로컬 스토리지에 객체 어레이를 저장하는 방법
이건 내 암호야며칠 전부터 오브젝트 어레이를 작성하려고 합니다.그 후 로컬 스토리지에 저장합니다.문제가 있습니다. 먼저 로컬 스토리지에서 기존 가치를 가져와야 합니다.
그런 다음 새 데이터 개체를 기존 배열에 추가해야 합니다.그런 다음 로컬 스토리지에 다시 저장할 수 있도록 JSON으로 변환합니다.
onRegisterSubmit(){
const user = {
a: this.a,
b: this.b,
c: this.c,
id: Date.now()
}
var abc = [];
var get = JSON.parse(localStorage.getItem('user'));
abc = [get];
abc.push(user);
localStorage.setItem('user', JSON.stringify(abc));
console.log(JSON.stringify(abc));
console.log(get);
}
JSON이 이런 오브젝트 배열이 되었으면 합니다.
[{"hour":1,"minute":21,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493797882440"},{"hour":1,"minute":24,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493797896257"},{"hour":6,"minute":14,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493815470408"}]
제 JSON입니다.
[[[[[[[{"id":1493820594019},{"id":1493820606448}],{"id":1493820609111}],{"id":1493820610150}],{"id":1493820610553}],{"id":1493820610827}],{"id":1493820611015}],{"id":1493820612018}]
며칠 동안 노력했는데 어떤 도움이라도 주시면 대단히 감사하겠습니다.
이 코드의 문제는 다음과 같습니다.
결과를 배열로 정리하지만 이론적으로는 이미 배열이 필요합니다.
저장 중(이것을 편집으로 삭제했습니다.user
,것은 아니다.get
또는abc
.
어레이를 저장하려면 다음 작업을 수행합니다.
localStorage.setItem("users", JSON.stringify(users));
어레이를 가져오려면:
users = JSON.parse(localStorage.getItem("users") || "[]");
에 의해 디폴트(빈 어레이)가 제공되는 것에 주의해 주세요.getItem
돌아온다null
사용자를 거기에 저장한 적이 없기 때문입니다.
어레이에 사용자를 추가하려면:
users.push({id: 1, foo: "bar"});
예(jsFiddle에서 라이브[Stack Scnaptes로 로컬 스토리지를 허용하지 않음]):
(function() { // Scoping function to avoid creating globals
// Loading
var users = JSON.parse(localStorage.getItem("users") || "[]");
console.log("# of users: " + users.length);
users.forEach(function(user, index) {
console.log("[" + index + "]: " + user.id);
});
// Modifying
var user = {
id: Math.floor(Math.random() * 1000000)
};
users.push(user);
console.log("Added user #" + user.id);
// Saving
localStorage.setItem("users", JSON.stringify(users));
})();
콘솔의 현재 사용자 목록이 표시되며 페이지를 새로 고칠 때마다 하나씩 추가됩니다.
다음과 같이 시도해 보십시오.- link https://jsfiddle.net/sureshraina/nLexkyfw/1/
var mydatas = new Array();
mydatas[0] = "data";
mydatas[1] = "data1";
mydatas[2] = "data2";
localStorage["mydatas"] = JSON.stringify(mydatas);
var datas = JSON.parse(localStorage["mydatas"]);
이 투고를 참조해 주세요.
개체를 저장할 수 없습니다. 문자열을 저장해야 합니다.따라서 이 문제를 해결하려면 개체를 저장하기 전에 문자열을 지정합니다(예를 들어 개체를 JSON 개체로 변경하고 저장했다가 필요할 때 다시 읽을 수 있습니다).
언급URL : https://stackoverflow.com/questions/43762363/how-to-store-an-array-of-objects-in-local-storage
'source' 카테고리의 다른 글
ng-options 바인딩된 선택 요소에 대해 선택한 값 설정 (0) | 2023.03.10 |
---|---|
Wordpress에서 액션 우선순위를 변경하려면 어떻게 해야 합니까? (0) | 2023.03.10 |
React-Native에서 실패한 propType on Image 구성 요소 (0) | 2023.03.10 |
Wordpress 투고 전용 커스텀 퍼멀링크 (0) | 2023.03.10 |
json 배열 jquery를 루프합니다. (0) | 2023.03.10 |