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

Lấy mảng con nhỏ nhất từ mảng các mảng trong JavaScript


Giả sử chúng ta có mảng lồng nhau như sau:

const arr = [ 
    ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"], 
    ["RIGHT", "LEFT", "TOP"], 
    ["TOP", "LEFT"] 
];

Cần viết hàm nhận mảng như vậy. Hàm chọn mảng con nhỏ nhất (ít phần tử nhất) và trả về.

Ví dụ

Mã thực hiện như sau:

const arr = [ 
    ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"], 
    ["RIGHT", "LEFT", "TOP"], 
    ["TOP", "LEFT"] 
]; 
const findShortest = (arr = []) => { 
    const res = arr.reduce((acc, val, ind) => { 
        if (!ind || val.length < acc[0].length) { 
            return [val]; 
        }; 
        if (val.length === acc[0].length) { 
            acc.push(val); 
        }; 
        return acc; 
    }, []); 
    return res; 
}; 
console.log(findShortest(arr));

Kết quả

Kết quả trong console sẽ là:

[ [ 'TOP', 'LEFT' ] ]