Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

กรองอาร์เรย์ด้วยตัวอักษรแรกในช่วง - JavaScript

อาร์เรย์: ['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 ตรงตัว