เราจำเป็นต้องเขียนฟังก์ชัน 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