อาร์เรย์: ['Amy', 'Dolly', 'Jason', 'Madison', 'Patricia']
กรองเฉพาะที่ตัวอักษรแรกอยู่ในช่วง a-j (รวม)
ตัวอย่างโค้ด
const arr = ['Amy', 'Dolly', 'Jason', 'Madison', 'Patricia'];
const filterByAlphaRange = (arr = [], start = 'a', end = 'z') => {
const isGreater = (c1, c2) => c1 >= c2;
const isSmaller = (c1, c2) => c1 <= c2;
const filtered = arr.filter(el => {
const [firstChar] = el.toLowerCase();
return isGreater(firstChar, start) && isSmaller(firstChar, end);
});
return filtered;
};
console.log(filterByAlphaRange(arr, 'a', 'j'));ผลลัพธ์
[ 'Amy', 'Dolly', 'Jason' ]
คำอธิบาย: el.toLowerCase() แปลงตัวเล็ก [firstChar] destructuring ได้ตัวแรก filter เงื่อนไข firstChar >= start && firstChar <= end
หมายเหตุ: การเปรียบเทียบสตริงใน JS ใช้ Unicode code point ใช้ได้กับ a-z ตรงตัว