Problem
We are required to write a JavaScript function that takes in two strings, str1 and str2. Our function should return true if a portion of str1 characters can be rearranged to match str2, otherwise returns false.
Example
Following is the code −
const str1 = 'rkqodlw'; const str2 = 'world'; const canForm = (str1 = '', str2 = '') => { if(str1.length < str2.length){ return false; }; const res = str2.split(''); str1.split("").forEach(val => { if(res.includes(val)){ res.splice(res.indexOf(val), 1); }; }); return res.length === 0; }; console.log(canForm(str1, str2));
Output
Following is the console output −
true