首先要拥有两个数组,一个是包含单词的数组wordsArr,另一个是包含短语的数组phrasesArr;
使用addEventListener监听input事件;
在事件处理程序中,使用split()方法将输入的文本分割成单词和短语数组arr;
遍历数组arr,对于每一个元素,判断该元素在哪个数组中,如果在wordsArr中,则将该元素的首字母大写;如果在phrasesArr中,则在每个单词的首字母大写后添加一个空格,最终拼接成一个字符串;
使用join()方法将遍历后的数组arr拼接成字符串,然后将该字符串赋值给input元素的value属性,这样就完成了首字母大写的转换。
示例代码:
const inputElement = document.querySelector('input')
const wordsArr = ['apple', 'banana', 'cherry']
const phrasesArr = ['hello world', 'good morning', 'have a nice day']
inputElement.addEventListener('input', function() {
const arr = inputElement.value.split(' ')
for (let i = 0; i < arr.length; i++) {
if (wordsArr.includes(arr[i])) {
arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1)
} else if (phrasesArr.includes(arr[i])) {
const words = arr[i].split(' ')
for (let j = 0; j < words.length; j++) {
words[j] = words[j].charAt(0).toUpperCase() + words[j].slice(1)
}
arr[i] = words.join(' ')
}
}
inputElement.value = arr.join(' ')
})