Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ตรวจสอบว่าเราสามารถสร้าง string2 ได้หรือไม่โดยลบอักขระบางตัวออกจาก string1 โดยไม่ต้องเรียงลำดับอักขระของสตริงใหม่ - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีสองสตริง สมมติว่า str1 และ str2 เป็นอาร์กิวเมนต์แรกและตัวที่สอง

ฟังก์ชันควรกำหนดว่าเราสามารถสร้าง str2 ได้หรือไม่โดยลบอักขระบางตัวออกจาก str1 โดยไม่ต้องเรียงลำดับอักขระของสตริงใหม่

ตัวอย่างเช่น −

หากทั้งสองสตริงคือ −

const str1 = 'sjkfampeflef';
const str2 = 'sample';

ผลลัพธ์ควรเป็นจริงเพราะเราสามารถสร้าง str2 ได้โดยการลบอักขระบางตัวออกจาก str1

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str1 = 'sjkfampeflef';
const str2 = 'sample';
const checkConvertibility = (str1 = '', str2 = '') => {
   if(!str1 || !str2){
      return false;
   };
   const strArr1 = str1.split('');
   const strArr2 = str2.split('');
   const shorter = strArr1.length < strArr2.length ? strArr1 : strArr2;
   const longer = strArr1.length < strArr2.length ? strArr2 : strArr1;
   for(let i = 0; i < shorter.length; i++){
      const el = shorter[i];
      const index = longer.indexOf(el);
      if(index !== -1){
         longer.splice(index, 1);
         continue;
      };
      return false;
   };
   return true;
};
console.log(checkConvertibility(str1, str2));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

true