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

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


最初の引数としてstrなどの文字列と、2番目の引数と同じ長さのarrなどの正の整数の配列を受け取るJavaScript関数を作成する必要があります。

この関数は、i番目の位置の文字がシャッフルされた文字列のarr [i]に移動するように、文字列内の文字をシャッフルする必要があります。

例-

入力文字列と配列が-

の場合
const str = 'example';
const arr = [5, 2, 0, 6, 4, 1, 3];

その場合、出力は-

になります。
const output = 'alxepem';

以下はコードです-

const str = 'example';
const arr = [5, 2, 0, 6, 4, 1, 3];
const shuffleString = (str = '', arr = []) => {
   let res = '';
   const map = new Map();
   for (let i = 0; i < arr.length; i++) {
      const char = str.charAt(i), index = arr[i]
      map.set(index, char)
   };
   for (let i = 0; i < arr.length; i++){
      res += map.get(i);
   };
   return res;
};
console.log(shuffleString(str, arr));

出力

以下はコンソール出力です-

alxepem

  1. JavaScriptの文字列に基づいて頭字語を返す

    文字列を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、入力として提供された文字列フレーズに基づいて頭字語を作成して返す必要があります。 頭字語を作成する際、関数は大文字で始まる単語のみを考慮に入れる必要があります。 例- 入力文字列が-の場合 const str = 'Polar Satellite Launch Vehicle'; その場合、出力は-になります。 const output = 'PSLV'; 例 以下はコードです- const str = 'Polar Satellite Launch

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

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