Die Antwort, die mir gegeben wurde, hat mich nicht überzeugt, aber sie hat mich auf eine Idee gebracht:
Array.prototype.contains = function(obj)
{
return (this.join(',')).indexOf(obj) > -1;
}
Es ist nicht perfekt, weil Artikel, die über die Gruppierung hinaus gleich sind, am Ende übereinstimmen könnten. Wie in meinem Beispiel
var c=[];
var d=[];
function a()
{
var e = '1';
var f = '2';
c[0] = ['1','1'];
c[1] = ['2','2'];
c[2] = ['3','3'];
d[0] = [document.getElementById('g').value,document.getElementById('h').value];
document.getElementById('i').value = c.join(',');
document.getElementById('j').value = d.join(',');
document.getElementById('b').value = c.contains(d);
}
Wenn ich diese Funktion mit den Feldern "g" und "h" aufrufe, die 1 bzw. 2 enthalten, wird sie dennoch gefunden, da die sich aus der Verknüpfung ergebende Zeichenfolge lautet: 1,1,2,2,3,3
Da es in meiner Situation zweifelhaft ist, dass ich in eine solche Situation komme, verwende ich dies. Ich dachte, ich würde es teilen, falls jemand anderes die gewählte Antwort auch nicht umsetzen kann.
10 Stimmen
Der Code funktioniert in Safari 4.0.2. Übrigens: Ich würde eine
===
Vergleich anstelle von nur==
.1 Stimmen
"Die obige Funktion gibt immer false zurück." Nein, das tut sie nicht: Die Funktion funktioniert wie erwartet - der Fehler muss woanders liegen.
2 Stimmen
Siehe auch: stackoverflow.com/q/237104/1569
5 Stimmen
Finally its worked. its due to improper trim of the comparing value. there was some space in the comparing value
(Ein Kommentar des Fragestellers zum akzeptierte Antwort .)0 Stimmen
Es funktioniert, Sie hätten Folgendes verwenden sollen
===
anstelle von==
0 Stimmen
Für alle, die noch damit zu kämpfen haben. Das Folgende hat es für mich erledigt: 1. lodash.includes mit folgendem Befehl installieren: npm --save lodash.includes 2. Require lodash.includes: var includes = require('lodash.includes'); 3. use it like this: arrayBeingUsed.includes(valueToLookFor); ( npmjs.com/package/lodash.includes )
0 Stimmen
Verwandt mit besserer Antwort - stackoverflow.com/a/38073833/104380
0 Stimmen
["Admin", "Action", "WriteType"].find( (key) => { console.log(
Taste =, key); return key === "KeyWord" } );
0 Stimmen
developer.mozilla.org/de-US/docs/Web/JavaScript/Reference/
0 Stimmen
Sie können Lodash _.some(arrValues,'Sam') => true /false verwenden
0 Stimmen
If(numbers.join('') == '') dann bedeutet dies, dass das Array mit dem Namen 'numbers' leer ist.
0 Stimmen
Es gibt keine contains-Methode in Javascript für Array, Sie können stattdessen includes verwenden