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