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

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


たとえば、次のオブジェクトの配列がidプロパティに従って並べ替えられているとします-

const unordered = [{
   id: 1,
   string: 'sometimes'
}, {
   id: 2,
   string: 'be'
}, {
   id: 3,
   string: 'can'
}, {
   id: 4,
   string: 'life'
}, {
   id: 5,
   string: 'tough'
}, {
   id: 6,
   string: 'very'
}, ];

そして、このような文字列の別の配列-

const ordered = ['Life', 'sometimes', 'can', 'be', 'very', 'tough'];

最初の配列を並べ替えて、その文字列プロパティが2番目の配列と同じ文字列の順序になるようにする必要があります。したがって、このためのコードを書いてみましょう。

const unordered = [{
   id: 1,
   string: 'sometimes'
}, {
   id: 2,
   string: 'be'
}, {
   id: 3,
   string: 'can'
}, {
   id: 4,
   string: 'life'
}, {
   id: 5,
   string: 'tough'
}, {
   id: 6,
   string: 'very'
}, ];
const ordered = ['Life', 'sometimes', 'can', 'be', 'very', 'tough'];
const sorter = (a, b) => {
   return ordered.indexOf(a.string) - ordered.indexOf(b.string);
};
unordered.sort(sorter);
console.log(unordered);

出力

コンソールの出力は-

になります
[
   { id: 4, string: 'life' },
   { id: 1, string: 'sometimes' },
   { id: 3, string: 'can' },
   { id: 2, string: 'be' },
   { id: 6, string: 'very' },
   { id: 5, string: 'tough' }
]

  1. JavaScriptの配列に基づくシャッフル文字列

    最初の引数としてstrなどの文字列と、2番目の引数と同じ長さのarrなどの正の整数の配列を受け取るJavaScript関数を作成する必要があります。 この関数は、i番目の位置の文字がシャッフルされた文字列のarr [i]に移動するように、文字列内の文字をシャッフルする必要があります。 例- 入力文字列と配列が-の場合 const str = 'example'; const arr = [5, 2, 0, 6, 4, 1, 3]; その場合、出力は-になります。 const output = 'alxepem'; 例 以下はコードです- const s

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

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