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

別の配列JavaScriptに基づいて配列を並べ替える


次のような2つの配列があるとします-

const input = ['S-1','S-2','S-3','S-4','S-5','S-6','S-7','S-8'];
const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"];

最初の引数と2番目の引数などの2つの配列をそれぞれ受け取るJavaScript関数を作成する必要があります。

関数は、最初の配列の要素を2番目の配列内の位置に従って並べ替える必要があります。

このためのコードは-

になります

const input = ['S-1','S-2','S-3','S-4','S-5','S-6','S-7','S-8'];
const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"];
const sortByReference = (arr1 = [], arr2 = []) => {
   const sorter = (a, b) => {
      const firstIndex = arr2.indexOf(a);
      const secondIndex = arr2.indexOf(b);
      return firstIndex - secondIndex;
   };
   arr1.sort(sorter);
};
sortByReference(input, sortingArray); console.log(input);

出力

そして、コンソールの出力は-

になります
[
'S-1',
'S-5',
'S-2',
'S-6',
'S-3',
'S-7',
'S-4',
'S-8'
]

  1. JavaScriptの配列に基づいて文字列文字をシフトする

    小文字の英語のアルファベットのみを含む文字列があるとします。この質問の目的のために、文字の単位シフトを、その文字をアルファベットの後続の文字に置き換えることとして定義します(「z」の隣が「a」であることを意味するラッピングを含む) ); 最初の引数として文字列strを取り、2番目の引数としてstrと同じ長さの数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、元の文字列の文字が配列arrに存在する対応する単位によってシフトされる新しい文字列を準備する必要があります。 例- 入力文字列と配列が-の場合 const str = 'dab'; c

  2. JavaScriptの要素の頻度の増加に基づいて配列を並べ替える

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 配列arrには、いくつかの重複が含まれている可能性があります。この関数は、出現回数が最も少ない要素が最初に配置され、次に頻度が高くなる要素が配置されるように配列を並べ替えることを想定しています。 2つの要素が配列に同じ回数出現する場合は、昇順で配置する必要があります。 たとえば、関数への入力が 入力 const arr = [5, 4, 5, 4, 2, 1, 12]; 出力 const output = [1, 2, 12, 4, 4, 5, 5]; 出力の説明