Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ค้นหาการรวมตัวอักษรในอาร์เรย์สตริงด้วย JavaScript

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของสตริงและสตริงหนึ่งสตริง หน้าที่ของเราคือตรวจสอบว่าอาร์เรย์มีลำดับหรือลำดับย่อยของสตริงนั้นเป็นองค์ประกอบหรือไม่ และคืนค่า 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