Cho hai mảng cùng độ dài. Viết hàm nhận giá trị từ mảng thứ hai, trả về mảng con từ mảng thứ nhất chứa các phần tử ở chỉ số tương ứng với vị trí của giá trị đó trong mảng thứ hai.
Ví dụ:
const array1 = ['a','b','c','d','e','f','g','h'];const array2 = [1, 0, 0, 1, 0, 0, 1, 0];findSubArray(0) → ['b', 'c', 'e', 'f', 'h']
Vì ở mảng 2, giá trị 0 nằm tại chỉ số 1,2,4,5,7 → lấy phần tử mảng 1 tại các chỉ số đó.
Ví dụ
const array1 = ['a','b','c','d','e','f','g','h'];const array2 = [1, 0, 0, 1, 0, 0, 1, 0];const findSubArray = (first, second, el) => { if (first.length !== second.length) { return false; } return second.reduce((acc, val, ind) => { if (val === el) { acc.push(first[ind]); } return acc; }, []);};console.log(findSubArray(array1, array2, 0));console.log(findSubArray(array1, array2, 1));Kết quả
Đầu ra trong console sẽ là:
['b', 'c', 'e', 'f', 'h']['a', 'd', 'g']