基於 JavaScript 中的陣列洗牌字串


我們需要編寫一個 JavaScript 函式,該函式將一個字串(例如 str)作為第一個引數,並將一個與第二個引數長度相同的正整數陣列(例如 arr)作為第二個引數。

我們的函式應打亂字串中的字元,使得第 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

更新日期: 19-01-2021

270 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.