私がまさに望んでいるのは、プログラムのオブジェクトの配列にデータをローカルに保存して、そのデータを一日中使用できるようにし、一日の終わりまでにデータベースを使用せずに削除したいことです。私はJsonデータを持っていて、それをプログラムで使用できるように、配列またはデータ構造に普遍的に一意の識別子(uuid)を持つオブジェクトとして保存したいのですが、データベースを使用することはできません。方法を見つける必要があると思いますオブジェクトをグローバル配列に格納しますが、その配列に既に格納されているオブジェクトを削除せずに、新しいオブジェクトをその配列に追加したいと考えています。私はNode jsを使用しています。これを行う方法があると確信していますが、方法がわかりません。私はいくつかの助けに感謝します
配列プロパティを使用してクラスを宣言し、その配列にデータを格納しようとしましたが、コードを再実行すると、データが削除されてデータが失われましたが、データが格納されるグローバル配列内のローカル ストレージのような方法を見つける必要があります。その配列にいくつかのオブジェクトを追加しても安全です。たとえば、ラップトップの電源を切るか、プログラムを終了して Vs コードを閉じると、そのデータが 1 日の終わりに削除されても問題ありません。追加のファイルで宣言し、メインプログラムから呼び出すことも試みましたが、何も機能しませんでした
// これは普遍的にユニークな ID を作成するためのライブラリです const uuid = require("uuid/v1");
var todo_list = { todos: [],
register : function(todo) {
this.todos.push({
id : uuid(),
todo: todo
})},
size : function() {return this.todos.length },
display : function() {
this.todos.forEach(t=> {
console.log(t);
});
}
}
function createtodo(id, name, region) {
return {
id : id,
name : name,
region : region
};
}
todo_list.register(createtodo(2,"test6", "leipzig"));
console.log(todo_list.size());
console.log(todo_list.display());
新しい todo を登録すると、todos 配列プロパティに追加され、その瞬間に実際に todos 内にあるものを置き換えないことを期待しています。関数レジスタを 5 回呼び出すと、5 つのオブジェクトが todos 配列に格納されますが、レジスタ関数呼び出しのコードにコメントを付けてプログラムをもう一度実行すると、データが失われ、サイズ関数の結果は次のようになります。 0 または未定義。私が望む結果は、コードを変更した後でもデータが失われない追加のグローバル配列にデータが格納されることですが、何らかの形でプログラムを閉じるとデータが失われることを理解しています