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

การลบตัวอักษรในสตริงแรกที่ไม่มีในสตริงที่สองด้วย JavaScript

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงสองตัว ฟังก์ชันควรคืนสตริงใหม่ที่มีเฉพาะตัวอักษรที่มีในสตริงที่สองด้วย

หมายเหตุ: ลำดับของตัวอักษรในสตริงที่คืนต้องไม่เปลี่ยน คือ ต้องเหมือนกับในสตริงแรก

ตัวอย่างโค้ด

const str1 = 'abcdefgh';
const str2 = 'banana';
const deleteSelectively = (str1 = '', str2 = '') => {
  let strArr1 = str1.split('');
  const strArr2 = str2.split('');
  const map = {};
  strArr2.forEach(el => {
    map[el] = 1;
  });
  strArr1 = strArr1.filter(el => {
    return map.hasOwnProperty(el);
  });
  return strArr1.join('');
};
console.log(deleteSelectively(str1, str2));

ผลลัพธ์

ผลลัพธ์ที่แสดงในคอนโซลจะเป็นดังนี้:

ab