2016-06-12 7 views
0

私は現在問題があり、何をすべきかわかりません。おそらく誰かが私を助けることができます。JSデータベースの単語数

つまり、少しデータベースを構築しました。まず、入力ウィンドウが表示されます。このウィンドウでは単語(例: "informatics")を書くことができ、これは自分の関数データベースに保存され、ID番号になります。

しかし、私は2つの重要なことがもっと必要です:2つのオブジェクトが同じ名前を持つ場合(例: "情報学")、それらをまとめて数えます。 誰かが「サッカー」を13回入力すると、分子があり、それを表示します。

私はあなたの理解を希望します。

ここは私のコードです。私はサポートに非常に感謝しています。

function Database() { 
 
    this.database = []; 
 
} 
 
    Database.prototype = { 
 
    insert: function (obj) { 
 
    this.database.push(obj); 
 
    }, 
 
    where: function (prop, val) { 
 
    if (!prop) { 
 
    // Es wird keine Property übergeben. gib in diesem Fall 
 
    // den Inhalt der gesamten Datenbank zurück. 
 
     return this.database; 
 
    } 
 
    for (var resArr = [], i = 0; i < this.database.length; i++) { 
 
     if (this.database[i][prop] === val) { 
 
     resArr.push(this.database[i]); 
 
     } 
 
    } 
 
    return resArr; 
 
    }, 
 
    update: function (whereProp, whereVal, updateProp, updateVal) { 
 
    for (var i = 0; i < this.database.length; i++) { 
 
     if (this.database[i][whereProp] === whereVal) { 
 
     // Objekt gefunden! 
 
      this.database[i][updateProp] = updateVal; 
 
     } 
 
     } 
 
    }, 
 
    delete: function (prop, val) { 
 
    if (!prop) { 
 
     // Lösche alles 
 
     var currentDatabase = this.database; 
 
     this.database = []; 
 
     return currentDatabase; 
 
    } 
 
    for (var i = 0; i < this.database.length; i++) { 
 
     if (this.database[i][prop] === val) { 
 
      // Objekt gefunden! 
 
      return this.database.splice(i, 1); 
 
     } 
 
     } 
 
    } 
 
}

function Database() { 
 
    this.database = []; 
 
    var index = 0; 
 
    this insert = function (obj) { 
 
    obj["id"] = this.index++; 
 
    this.database.push(obj); 
 
}; 
 
}

function where() { 
 
    var eingabe = prompt("Nach was suchst du? Gib ein oder zwei Schlüsselbegriffe ein.", "Wort1, Wort2"); 
 
    if (eingabe != false) { 
 
    alert("Danke für deinen Eintrag! Er wurde in die Datenbank eingespeichert!"); 
 
    db.insert({"apliki": eingabe}); 
 
    } 
 

 
    else { 
 
    alert("Etwas stimmte nicht mit deiner Eingabe..."); 
 
    prompt("Bitte gib ein oder zwei Schlüsselbegrifffe ein und achte auf`s Format", "Wort1, Wort2"); 
 

 
    } 
 
}

+1

* *技術的な問題文または質問ではありません「私はあなたの私が何を意味するか理解してほしいです」。これをコードに直接関係するより具体的な小さな問題に絞り込んでください。また、目的はまだあまりにも曖昧です。期待される結果のサンプルを提供する。 *「それらをまとめて数える」などのステートメントは、いくつかの異なる方法で解釈できます。 [ask] – charlietfl

答えて

0

私はあなたの次の小さな悩みを抱えています既存のコード。あなただけのものをカウントしたい場合しかし、この試みを与える:

var counts = {}; 
function getCount(word) { 
    return counts[word] || 0; 
} 
function insert(word) { 
    counts[word] = getCount(word) + 1; 
} 

insert('hello'); 
insert('goodbye'); 
insert('hello'); 

console.log(getCount('hello')); // output: 2 
console.log(getCount('goodbye')); // output: 1 
console.log(getCount('new'));  // output: 0 
+0

を参照してください。それは良いスタートですが、私の問題は依然として存在します。私は、スクリーンショットを考えると、私の問題をよりよく説明することができます... –

+0

db.where(); [オブジェクト ハロー: "ヴェルト" ID:0 __proto __:オブジェクト オブジェクト ハロー: "ヴェルト" ID:1 __proto__:ここでは、オブジェクト が問題をthat's。同じ言葉は同じIDを持たず、ここには数えられない分子です。 後で、多くの単語を含む文字列を挿入し、すべての単語を読み上げて表示します。どの単語がどのように呼び出されたかを示します。 :) ありがとうございました。 –