Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xây dựng chuỗi dựa trên ma trận ký tự và mảng số bằng JavaScript


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một ma trận n x n của các ký tự chuỗi và một mảng số nguyên (dương và duy nhất).

Hàm phải xây dựng một chuỗi gồm các ký tự có chỉ số 1-based hiện diện trong mảng số.

Ma trận ký tự:

[ 
  ['a', 'b', 'c', 'd'], 
  ['o', 'f', 'r', 'g'], 
  ['h', 'i', 'e', 'j'], 
  ['k', 'l', 'm', 'n'] 
];

Mảng số:

[1, 4, 5, 7, 11]

Phải trả về 'adore' vì đây là các ký tự tại các chỉ số 1-based do mảng số chỉ định trong ma trận.

Ví dụ

Dưới đây là mã:

const arr = [ 
  ['a', 'b', 'c', 'd'], 
  ['o', 'f', 'r', 'g'], 
  ['h', 'i', 'e', 'j'], 
  ['k', 'l', 'm', 'n'] ]; 
const pos = [1, 4, 5, 7, 11]; 
const buildString = (arr = [], pos = []) => { 
  const flat = []; 
  arr.forEach(sub => { 
    flat.push(...sub); 
  }); 
  let res = ''; 
  pos.forEach(num => { 
    res += (flat[num - 1] || ''); 
  }); 
  return res; 
}; 
console.log(buildString(arr, pos));

Kết quả

Kết quả console:

adore