เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของสตริงและสตริงหนึ่งสตริง หน้าที่ของเราคือตรวจสอบว่าอาร์เรย์มีลำดับหรือลำดับย่อยของสตริงนั้นเป็นองค์ประกอบหรือไม่ และคืนค่า boolean ตามข้อเท็จจริงนี้
ตัวอย่างเช่น:
const x = 'ACBC'; const arr = ['cat', 'AB']; const arr2 = ['cat', '234', 'C']; const arr3 = ['cat', 'CC']; const arr4 = ['cat', 'BB']; console.log(containsString(arr, x)) // true console.log(containsString(arr2, x)) // true console.log(containsString(arr3, x)) // true console.log(containsString(arr4, x)) // false
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน:
ตัวอย่างโค้ด
const x = 'ACBC';
const arr = ['cat', 'AB'];
const arr2 = ['cat', '234', 'C'];
const arr3 = ['cat', 'CC'];
const arr4 = ['cat', 'BB'];
const splitSort = function() {
return this.split('').sort().join('');
};
String.prototype.splitSort = splitSort;
const containsString = (arr, str) => {
const sorted = str.splitSort();
for (let i = 0; i < arr.length; i++) {
const sortedEl = arr[i].splitSort();
if (sorted.includes(sortedEl)) {
return true;
}
}
return false;
};
console.log(containsString(arr, x)); // true
console.log(containsString(arr2, x)); // true
console.log(containsString(arr3, x)); // true
console.log(containsString(arr4, x)); // false
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
true true true false