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

別の配列JavaScriptに基づいて配列を変更する


このようなフレーズの参照配列があるとします-

const reference = ["your", "majesty", "they", "are", "ready"];

また、別の配列に基づいて上記の配列の要素の一部を結合する必要があるため、別の配列がこれである場合-

const another = ["your", "they are"];

結果は次のようになります-

result = ["your", "majesty", "they are", "ready"];

ここでは、両方の配列の要素を比較し、最初の配列の要素が2番目の配列に一緒に存在する場合はそれらを結合しました。

このような2つの配列を受け取り、新しく結合された配列を返すJavaScript関数を作成する必要があります。

const reference = ["your", "majesty", "they", "are", "ready"];
const another = ["your", "they are"];
const joinByReference = (reference = [], another = []) => {
   const res = [];
   const filtered = another.filter(a => a.split(" ").length > 1);
   while(filtered.length) {
      let anoWords = filtered.shift();
      let len = anoWords.split(" ").length;
      while(reference.length>len) {
         let refWords = reference.slice(0,len).join(" ");
         if (refWords == anoWords) {
            res.push(refWords);
            reference = reference.slice(len,reference.length);
            break;
         };
         res.push(reference.shift());
      };
   };
   return [...res, ...reference];
};
console.log(joinByReference(reference, another));

出力

これにより、次の出力が生成されます-

[ 'your', 'majesty', 'they are', 'ready' ]

  1. JavaScript配列shift()

    JavaScriptのshift()メソッドは、配列の最初の項目を削除するために使用されます。 構文は次のとおりです- array.shift() JavaScriptでshift()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body>    <h2>Demo Heading</h2>    <p id="test"></p>    <script>    

  2. JavaScript配列reverse()

    JavaScriptのreverse()メソッドは、配列要素を逆にするために使用されます。 構文は次のとおりです- array.reverse() JavaScriptでreverse()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body>    <h2>Demo Heading</h2>    <p id="test"></p>    <script>