Mô tả bài toán
Viết một hàm JavaScript nhận vào một mảng số và một số ngưỡng. Hàm trả về mảng mới chứa tất cả các phần tử từ mảng đầu vào lớn hơn hoặc bằng ngưỡng.
Ví dụ minh họa
const arr = [56, 34, 2, 7, 76, 4, 45, 3, 3, 34, 23, 2, 56, 5];
const threshold = 40;
const findGreater = (arr, num) => {
const res = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < num) continue;
res.push(arr[i]);
}
return res;
};
console.log(findGreater(arr, threshold));
Kết quả
[ 56, 76, 45, 56 ]
Giải thích
Hàm duyệt qua từng phần tử của mảng, bỏ qua các giá trị nhỏ hơn ngưỡng và đẩy các giá trị thỏa mãn vào mảng kết quả. Cách tiếp cận này đơn giản, dễ hiểu và hiệu quả với độ phức tạp thời gian O(n).
Cách viết hiện đại hơn
Có thể sử dụng phương thức filter() để code ngắn gọn hơn:
const findGreater = (arr, num) => arr.filter(val => val >= num);