基于 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.