Cho mảng chuỗi:
const arr = ['Some', 'random', 'words', 'that', 'actually', 'form', 'a', 'sentence.'];Cần viết hàm trả về từ dài nhất và ngắn nhất từ mảng này. Dùng Array.prototype.reduce() để theo dõi từ dài/ngắn nhất qua một lần duyệt.
Ví dụ
const arr = ['Some', 'random', 'words', 'that', 'actually', 'form', 'a', 'sentence.'];
const findWords = (arr) => {
return arr.reduce((acc, val) => {
const { length: len } = val;
if (len > acc['longest']['length']) {
acc['longest'] = val;
} else if (len < acc['shortest']['length']) {
acc['shortest'] = val;
}
return acc;
}, {
longest: arr[0],
shortest: arr[0]
});
};
console.log(findWords(arr));Kết quả
Đầu ra trong console sẽ là:
{ longest: 'sentence.', shortest: 'a' }