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

การนับจำนวนสระและพยัญชนะในสตริงด้วย JavaScript

บทความนี้สาธิตฟังก์ชัน JavaScript ที่รับสตริงภาษาอังกฤษและคืนค่าออบเจกต์ที่มีจำนวนสระ (vowels) และพยัญชนะ (consonants)

ตัวอย่างโค้ด

const str = 'This is a sample string, will be used to collect some data';

const countAlpha = str => {
  return str.split('').reduce((acc, val) => {
    const legend = 'aeiou';
    let { vowels, consonants } = acc;
    if (val.toLowerCase() === val.toUpperCase()) {
      return acc; // ข้ามตัวอักษรที่ไม่ใช่พยัญชนะ/สระ (เช่น รูปสัญลักษณ์, ช่องว่าง)
    }
    if (legend.includes(val.toLowerCase())) {
      vowels++;
    } else {
      consonants++;
    }
    return { vowels, consonants };
  }, {
    vowels: 0,
    consonants: 0
  });
};

console.log(countAlpha(str));

ผลลัพธ์

{ vowels: 17, consonants: 29 }

คำอธิบาย

ใช้ split('') แยกตัวอักษร แล้ว reduce สะสมค่า ตรวจสอบว่าเป็นตัวอักษรภาษาอังกฤษด้วยการเปรียบเทียบ toLowerCase และ toUpperCase (ถ้าเท่ากันแสดงว่าไม่ใช่ตัวอักษร)

ตรวจสอบว่าอยู่ใน 'aeiou' หรือไม่ เพื่อแยกสระ/พยัญชนะ