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