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

Lấy phần tử mảng dựa trên giá trị tương ứng của mảng khác JavaScript

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']