array.includes…

jemand anders

Erfahrenes Mitglied
Hallo,

wie kann man checken, ob ein Array in anderem Array enthalten ist? Mir gelingt es nicht.

Javascript:
const array1 = [1, 2, 3, [4], ['x']];

console.log(array1.includes(2));  
// expected output: true

const pets = ['cat', 'dog', 'bat'];

console.log(pets.includes('cat'));
// expected output: true

console.log(pets.includes('at'));
// expected output: false

console.log(array1.includes([4]));  

console.log(array1.includes(['x']));
Array.prototype.includes() - JavaScript | MDN

Hat jemand eine Idee?

Grüße
 

jemand anders

Erfahrenes Mitglied
Sie enthalten mehrere numerische und alphanumerische Elemente.

Mit some() klappt es aber auch nicht, wenn ich keinen Fehler gemacht habe.

Javascript:
const array = [1, 2, 3, [4, "a", 7], 5];

console.log('1. ', array[3], 'isArray=', Array.isArray(array[3]))
console.log('2. ', [4, "a", 7] , 'isArray=', Array.isArray([4, "a", 7]))

const exists = (element) => element === [4, "a", 7];

console.log('3. ',array.some(exists));

for(let i=0;i<array.length;i++) {
  array[i] === [4, "a", 7] ? console.log(array[i],true) : console.log(array[i],false)
}
Array.prototype.some() - JavaScript | MDN
 
Zuletzt bearbeitet:

Zvoni

Erfahrenes Mitglied
Muss "einArray" vollständig im "anderen Array" enthalten sein? Reihenfolge wichtig?
Die "einfachste Zu-Fuss"-Variante ist eine geschachtelte Schleife mit einen Status-Boolean
 

Sempervivum

Erfahrenes Mitglied
Wie man Arrays vergleicht wird hier beschrieben:
How to check if two arrays are equal with JavaScript?
Wenn die Elemente in der selben Reihenfolge angeordnet sind, kann man die Gleichheit relativ einfach prüfen, indem man beide JSON-kodiert (obwohl bei Stackoverflow davon abgeraten wird):
Code:
const exists = (element) => JSON.stringify(element) === JSON.stringify([4, "a", 7]);
Kann die Reihenfolge abweichen, kann man das lösen indem beide Arrays zuvor sortiert werden.
 

jemand anders

Erfahrenes Mitglied
Tz, kaum macht man's richtig… Alles klar.
Javascript:
const array = [1, 2, 3, [4, "a", 7], 5];

console.log('1. ', array[3], 'isArray=', Array.isArray(array[3]))
console.log('2. ', [4, "a", 7] , 'isArray=', Array.isArray([4, "a", 7]))

const exists = (element) => JSON.stringify(element) === JSON.stringify([4, "a", 7]);

console.log('3. ',array.some(exists));

for(let i=0;i<array.length;i++) {
  JSON.stringify(array[i]) === JSON.stringify([4, "a", 7]) ? console.log(array[i],true) : console.log(array[i],false)
}
 

Zvoni

Erfahrenes Mitglied
und was ist hiermit?
PHP:
const pets = ['cat', 'dog', 'bat']; //Danach suchen wir
const zoo = ['cat', 'lion', 'dog', 'puma', 'bat', 'cheetah']; //Hier drin suchen wir
Ist Beispiel wahr oder falsch?
 

Neue Beiträge