Computer >> Máy Tính >  >> Lập trình >> Javascript

Xáo trộn chuỗi dựa trên một mảng trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong một chuỗi, chẳng hạn str là đối số đầu tiên và một mảng các số nguyên dương, chẳng hạn arr có cùng độ dài với đối số thứ hai.

Hàm của chúng ta nên xáo trộn các ký tự trong chuỗi sao cho ký tự ở vị trí thứ i chuyển sang arr [i] trong chuỗi được xáo trộn.

Ví dụ -

Nếu chuỗi đầu vào và mảng là -

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

Sau đó, đầu ra phải là -

const output = 'alxepem';

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

alxepem