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
 
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:
Muss "einArray" vollständig im "anderen Array" enthalten sein? Reihenfolge wichtig?
Die "einfachste Zu-Fuss"-Variante ist eine geschachtelte Schleife mit einen Status-Boolean
 
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.
 
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)
}
 
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?
 
Zurück