Frage

Mit Hilfe eines regulären Ausdrucks und Greasemonkey Ich habe eine Reihe von Ergebnissen, die wie folgt aussehen:
    choice1, choice2, choice3, choice3, choice1, etc..

Meine Frage ist, wie kann ich die Entscheidungen Tally damit ich weiß, wie oft Auswahl1 im Array ist, ist choice2 im Array, usw., wenn ich weiß nicht genau, wie viele Möglichkeiten es gibt, oder was sie sind.

Das ultimative Ziel ist es, ein Greasemonkey-Skript zu erstellen, die die Anzahl der Stimmen jeder Wahl über mehrere Seiten wird gespeichert (wahrscheinlich gm_setvalue verwenden, obwohl ich andere Ideen offen bin.)

Danke!

War es hilfreich?

Lösung

Eine Technik wäre über die Wahl zu wiederholen und einen Zähler zugeordnet ist jede eindeutige Wahl in einer Objekteigenschaft erhöhen.

Beispiel:

var choiceCounts = {};
for (var iLoop=0; iLoop < aChoices.length; iLoop++) {
  var keyChoice = aChoices[iLoop];
  if (!choiceCounts[keyChoice]) {
    choiceCounts[keyChoice] = 1;
  } else {
    choiceCounts[keyChoice]++;
  } //if
} //for

Sie dann ein Objekt, mit Eigenschaften gleich die Anzahl der Male, dass die Immobilie im Array existiert hat.

Andere Tipps

nicht 100% sicher, was Sie suchen, aber ich denke, das ist es.

  // Original data
    var choices = [
        "choice 1",
        "choice 1",
        "choice 2",
        "choice 3",
        "choice 3",
        "choice 3",
        "choice 3",
        "choice 3",
        "choice 3",
        "choice 4",
        "choice 4",
        "choice 4"];


    //Create the results array
    var result = new Object();

    for (var choice in choices) {
        if (result[choices[choice]] === undefined)
            result[choices[choice]] = 1;
        else
            result[choices[choice]]++;
    }

    //Print result
    var str = "";

    for (var item in result)
        str += item + ": " + result[item] + "<br />";


    document.getElementById("resultDiv").innerHTML = str;

Ausgang:

choice 1: 2
choice 2: 1
choice 3: 6
choice 4: 3

zuerst das Array sortieren , dann können Sie einen einzelnen Sweep machen Vorkommen (ähnlich Ryans Vorschlag oben) zu zählen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top