Ich schreibe ein Skript, um ein Wörterbuch mit dem Namen dict zu erstellen, wo ich die Frequenzen einiger Wörter, die ich in einem Textbereich habe, speichern. Mein Array sieht so aus:Wie filtert man ein Wörterbuch nach Wert in JavaScript?
var dict = removeArray.reduce(function(p,c) {
if (p[c] === undefined) {
p[c] = 1;
} else {
p[c]++;
}
return p;
}, {});
Ich möchte die Elemente dieses Wörterbuchs nach ihrem Wert filtern. Ich muss eine Liste mit den Wörtern erstellen, die einen Wert größer als eins haben. Mein Wörterbuch sieht wie folgt aus:
{
"92173": 6,
"C": 6,
"GJHGWO.NAYE": 1,
"GJHGX4.NAYE": 1,
"GJHGX6.NAYE": 1,
"GJHGX8.NAYE": 1,
"GJHGXA.NAYE": 1,
"GJHGXC.NAYE": 1,
"RBD": 10,
"RBD3": 2,
"SAMBORNSiPOSSSTHRa": 2,
"SAMBORNSiPOSSSTHRa1": 2,
"SAMBORNSiPOSSSTHRa2": 2,
"X": 4,
"X3": 2
}
Um zu erreichen, dass ich versucht, mit lodash wie folgt:
var filtered = _.find(dict, function(user) {
return user.frecuency > 1;
});
Aber ich nicht, da ich bekam:
undefined
I don‘ Ich weiß, wie man lodash benutzt, um dieses Array zu filtern.
Mein vollständige Code sieht wie folgt aus:
var splitWords = document.getElementById("texto").value.split(/[["\|~]/);
var removeArray = _.remove(splitWords, function (word) {
return word !== '' && word !== ' ' && word !== '\n'
});
var dict = removeArray.reduce(function(p,c) {
if (p[c] === undefined) {
p[c] = 1;
} else {
p[c]++;
}
return p;
}, {});
console.log(dict);
var filtered = _.find(dict, function(user) {
return user.frecuency > 1;
});
console.log(filtered)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
<p id="demo"></p>
<textarea cols="150" rows="15" id="texto">
"RBD|X|RBD3|C|92173~GJHGWO.NAYE"
"SAMBORNSiPOSSSTHRa1"
"RBD|X|RBD|C|92173~GJHGX4.NAYE"
"SAMBORNSiPOSSSTHRa"
"RBD|X3|RBD3|C|92173~GJHGX6.NAYE"
"SAMBORNSiPOSSSTHRa1"
"RBD|X|RBD|C|92173~GJHGX8.NAYE"
"SAMBORNSiPOSSSTHRa2"
"RBD|X|RBD|C|92173~GJHGXA.NAYE"
"SAMBORNSiPOSSSTHRa2"
"RBD|X3|RBD|C|92173~GJHGXC.NAYE"
"SAMBORNSiPOSSSTHRa"
</textarea>
Underscore.js -> es zu versuchen, kann Ihr Leben einfacher –