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

ソース配列JavaScriptからターゲット配列を形成できます


異なる整数の配列(たとえばarr)と、別の整数配列の配列(たとえばsourceArr)が与えられます。

sourceArr配列では、整数は異なります。 sourceArr内の配列を任意の順序で連結することにより、arrを形成する関数を作成する必要があります。

ただし、sourArrのサブ配列内の整数を並べ替えることはできません。 sourceArrから配列arrを形成できる場合はtrueを返し、そうでない場合はfalseを返す必要があります。

例-

const arr = [23, 67, 789];
const sourceArr = [[23], [789, 67]];

サブ配列内の要素を並べ替えることができず、それなしではターゲットarrを達成できないため、関数はfalseを返す必要があります。

const arr1 = [23, 67, 789];
const arr2 = [23, 789, 67];
const sourceArr = [[23], [789, 67]];
const validFormation = (arr, sourceArr) => {
   const indexes = new Array(100);
   let arrIndex = 0;
   let index;
   for (let i = 0; i < sourceArr.length; ++i) {
      indexes[sourceArr[i][0]] = i;
   }
   while (arrIndex < arr.length) {
      index = indexes[arr[arrIndex]];
      if (index === undefined) return false;
      for (let j = 0; j < sourceArr[index].length; ++j) {
         if (arr[arrIndex] !== sourceArr[index][j]) return false;
            ++arrIndex;
      }
   }
   return true;
};
console.log(validFormation(arr1, sourceArr));
console.log(validFormation(arr2, sourceArr));

出力

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

false
true

  1. JavaScript配列from()メソッド

    JavaScriptのfrom()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは反復可能なオブジェクトからArrayオブジェクトを返すために使用されます。 構文は次のとおりです- Array.from(obj, mapFunction, val) 上記では、パラメータobjは配列に変換するオブジェクト、mapFunctionは呼び出すマップ関数、valはmapFunctionを実行するときにこれとして使用する値です。 JavaScriptでfrom()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body

  2. JavaScript Array.from()メソッド

    Array.from()は、指定された配列インスタンスから新しい配列オブジェクトを作成します。 以下は、配列from()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume