删除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