JavaScriptの異なる文字列間の類似点
Numbersの配列が2つあり、それらの交差を計算して、交差する要素を任意の順序で含む配列を返す関数intersection()を作成する必要があります。結果の各要素は、両方の配列に表示される回数だけ表示されるはずです。
例:
入力が-
の場合arr1 = ['hello', 'world', 'how', 'are', 'you']; arr2 = ['hey', 'world', 'can', 'you', 'rotate'];
その場合、出力は-
になります。['world', 'you'];
アプローチ:
配列がソートされていれば、最初にそれぞれの配列の開始を0にポイントする、2ポインターのアプローチを使用でき、対応するポインターを増やすことを進めることができ、それはO(m + n)複素数w.r.tでした。ここで、mとnは配列のサイズです。
ただし、並べ替えられていない配列があるため、配列を並べ替えてからこのアプローチを使用するロジックがないため、最初の値を2番目の値と照合して、intersectionarrayを作成します。
これにはO(n ^ 2)時間かかります。
したがって、この関数のコードを書いてみましょう-
例
このためのコードは-
になりますarr1 = ['hello', 'world', 'how', 'are', 'you']; arr2 = ['hey', 'world', 'can', 'you', 'rotate']; const intersectElements = (arr1, arr2) => { const res = []; const { length: len1 } = arr1; const { length: len2 } = arr2; const smaller = (len1 < len2 ? arr1 : arr2).slice(); const bigger = (len1 >= len2 ? arr1 : arr2).slice(); for(let i = 0; i < smaller.length; i++) { if(bigger.indexOf(smaller[i]) !== -1){ res.push(smaller[i]); bigger.splice(bigger.indexOf(smaller[i]), 1, undefined); } }; return res; }; console.log(intersectElements(arr1, arr2));
出力
コンソールの出力は-
になります[ 'world', 'you' ]
-
JavaScriptのテンプレート文字列。
ES6でテンプレートが導入され、文字列内に式を埋め込むことができるようになりました。 ‘’または“”引用符の代わりに、バッククォート( ``)を使用します。これらは文字列補間のはるかに優れた方法を提供し、式は$ {a+b}のような方法で埋め込むことができます。 +演算子よりもはるかに優れた構文を提供します。 以下はJavaScriptのテンプレート文字列のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> &l
-
JavaScriptでのテンプレート文字列のネスト
以下は、JavaScriptでテンプレート文字列をネストするためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>