0

私がまさに望んでいるのは、プログラムのオブジェクトの配列にデータをローカルに保存して、そのデータを一日中使用できるようにし、一日の終わりまでにデータベースを使用せずに削除したいことです。私は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 または未定義。私が望む結果は、コードを変更した後でもデータが失われない追加のグローバル配列にデータが格納されることですが、何らかの形でプログラムを閉じるとデータが失われることを理解しています

4

0 に答える 0