Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

文字列JavaScriptのワイルドカードマッチング


2つの文字列と数値nを受け入れるJavaScript関数を作成する必要があります。関数は2つの文字列に一致します。つまり、2つの文字列に同じ文字が含まれているかどうかをチェックします。両方の文字列に順序に関係なく同じ文字が含まれている場合、または最大でn個の異なる文字が含まれている場合、関数はtrueを返す必要があります。それ以外の場合、関数はfalseを返します。

この関数のコードを書いてみましょう-

const str1 = 'first string';
const str2 = 'second string';
const wildcardMatching = (first, second, num) => {
   let count = 0;
   for(let i = 0; i < first.length; i++){
      if(!second.includes(first[i])){
         count++;
      };
      if(count > num){
         return false;
      };
   };
   return true;
};
console.log(wildcardMatching(str1, str2, 2));
console.log(wildcardMatching(str1, str2, 1));
console.log(wildcardMatching(str1, str2, 0));
>

出力

コンソールの出力は-

になります
true
true
false

  1. JavaScriptの関数プロトタイプ

    JavaScriptで作成された関数には、JavaScriptエンジンによって追加されたプロトタイププロパティが常にあります。プロトタイププロパティは、デフォルトでコンストラクタプロパティを含むオブジェクトです。関数protoypeには、-からアクセスできます。 functionName.prototype オブジェクトが関数コンストラクターを使用して作成されている場合、このプロトタイププロパティを使用して、その関数コンストラクターによって作成されたオブジェクト間でメソッドまたはプロパティを共有できます。 以下は、JavaScriptの関数プロトタイプのコードです- 例 <!DOCT

  2. JavaScriptでの関数の借用。

    call()、apply()、bind()は、JavaScriptのメソッドを借用するために使用されます。 以下は、JavaScriptでメソッドを借用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &