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

Nhận các phần tử của một mảng tùy thuộc vào các giá trị tương ứng của JavaScript khác

Giả sử chúng ta có hai mảng, chẳng hạn, hãy xem xét hai mảng sau -

const array1 = ['a','b','c','d','e','f','g','h'];
const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0];

Cả hai mảng đều có cùng độ dài. Chúng tôi bắt buộc phải viết một hàm khi được cung cấp một phần tử từ mảng thứ hai, trả về một mảng con từ mảng đầu tiên trong số tất cả các phần tử có chỉ số tương ứng với chỉ số của phần tử mà chúng tôi đã lấy làm đối số trong mảng thứ hai.

Ví dụ:findSubArray (0) nên trả về -

[‘b’, ‘c’, ‘e’, ‘f’, ‘h’]

Bởi vì đây là các phần tử có trong mảng đầu tiên trên các chỉ số 1, 2, 4, 5, 7, tại đó mảng thứ hai là 0 có mặt.

Do đó, bây giờ chúng ta hãy viết mã cho chức năng này -

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

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ 'b', 'c', 'e', 'f', 'h' ]
[ 'a', 'd', 'g' ]