Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi chữ cái tiếng Anh str làm đối số duy nhất. Hàm phải trả về true nếu và chỉ nếu nguyên âm và phụ âm xuất hiện xen kẽ trong chuỗi đầu vào, ngược lại trả về false.
Ví dụ, nếu đầu vào là:
Đầu vào
const str = 'amazon';
Đầu ra
const output = true;
Giải thích
Vì nguyên âm và phụ âm xuất hiện xen kẽ trong chuỗi 'amazon'.
Ví dụ
Dưới đây là mã thực hiện:
const str = 'amazon';
const appearAlternatingly = (str = '') => {
return str.split('').every((v, i) => {
if (/[aeiou]/.test(str[0])) {
if (i % 2 === 0 && /[aeiou]/.test(v)) {
return true;
} else if (i % 2 !== 0 && !/[aeiou]/.test(v)) {
return true;
} else {
return false;
}
}
if (!/[aeiou]/.test(str[0])) {
if (i % 2 == 0 && !/[aeiou]/.test(v)) {
return true;
} else if (i % 2 !== 0 && /[aeiou]/.test(v)) {
return true;
} else {
return false;
}
}
});
};
console.log(appearAlternatingly(str));
Kết quả
true