删除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
猜你喜欢