เราต้องเขียนฟังก์ชันที่คืนค่า true หากสตริงในองค์ประกอบแรกของอาร์เรย์มีตัวอักษรทั้งหมดของสตริงในองค์ประกอบที่สองของอาร์เรย์
ตัวเช่น:
["hello", "Hello"], ควรคืน true เพราะตัวอักษรทั้งหมดในสตริงที่สองอยู่ในตัวแรก โดยไม่สนใจ case
อาร์กิวเมนต์ ["hello", "hey"] ควรคืน false เพราะ "hello" ไม่มี "y"
สุดท้าย ["Alien", "line"] ควรคืน true เพราะตัวอักษรใน "line" อยู่ใน "Alien" ทั้งหมด
นี่เป็นปัญหาง่ายๆ เราแค่ split องค์ประกอบที่สองและวนลูปเช็คว่าตัวแรกมีตัวอักษรครบหรือไม่
ตัวอย่างโค้ด
const arrayContains = ([first, second]) => {
return second
.toLowerCase()
.split("")
.every(char => {
return first.toLowerCase().includes(char);
});
};
console.log(arrayContains(['hello', 'HELLO']));
console.log(arrayContains(['hello', 'hey']));
console.log(arrayContains(['Alien', 'line']));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
true false true