Computer >> Máy Tính >  >> Lập trình >> Javascript

Xóa các phần tử trong chuỗi đầu tiên không có trong chuỗi thứ hai trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có hai chuỗi. Hàm của chúng ta sẽ trả về phiên bản mới hơn của chuỗi đầu tiên chỉ chứa những phần tử cũng có trong chuỗi thứ hai.

Lưu ý rằng thứ tự xuất hiện của các phần tử trong stt trả về không được thay đổi, tức là thứ tự phải giống như thứ tự trong chuỗi đầu tiên.

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

ab