数组与字符串函数2
数组练习题
- 合并数组并去重:将
[1, 2, 3]
和 [3, 4, 5]
合并为一个新数组,并去除重复元素。
- 检查数组是否包含元素:编写函数
hasElement(arr, element)
,判断数组是否包含指定元素。
- 数组元素拼接:将
["2023", "10", "01"]
转换为字符串 "2023-10-01"
。
- 移除数组中的负数:编写函数
removeNegatives(arr)
,返回移除了所有负数的新数组。
- 扁平化多维数组:将
[1, [2, [3, [4]]]]
转换为 [1, 2, 3, 4]
。
- 计算数组元素的平均值:编写函数
average(arr)
,返回数组元素的平均值。
- 查找第一个质数:编写函数
findFirstPrime(arr)
,返回数组中第一个质数。
- 反转数组但不改变原数组:用
toReversed
方法反转数组 [1, 2, 3]
。
- 检查数组是否单调递增:编写函数
isIncreasing(arr)
,判断数组是否严格递增。
- 生成特定范围数组:生成
[5, 10, 15, 20, 25]
(从5开始,每次加5,共5个元素)。
字符串练习题
- 提取URL中的域名:从
"https://www.example.com/page"
中提取 "www.example.com"
。
- 判断回文字符串:编写函数
isPalindrome(str)
,判断字符串是否是回文(如 "level"
)。
- 替换所有数字为星号:将
"ID: 12345, Phone: 67890"
替换为 "ID: *****, Phone: ******"
。
- 检查字符串格式:判断
"2023-10-01"
是否满足 YYYY-MM-DD
格式(长度为10,第4和第7位是短横线)。
- 填充字符串:将
"7"
格式化为长度4的字符串 "0007"
(左侧补零)。
- 统计子串出现次数:编写函数
countSubstring(str, sub)
,返回子串出现的次数(如 "ababa"
中 "aba"
出现2次)。
- 首字母大写转换:将
"hello world"
转换为 "Hello World"
。
- 隐藏手机号中间四位:将
"13812345678"
转换为 "138****5678"
。
- 统计字符频率:编写函数
countChars(str)
,返回对象如 {a: 2, b: 1}
。
- 分割带分隔符的字符串:将
"a,,b,c,"
按逗号分割为 ["a", "b", "c"]
(去除空元素)。
综合应用题
- 处理混合字符串:将
"A1B2C3"
转换为 "A-1-B-2-C-3"
。
- 转换对象数组格式:将
[{name: "Alice", age: 25}, {name: "Bob", age: 30}]
转换为 ["Alice (25)", "Bob (30)"]
。
- 找出最长单词:从
"The quick brown fox jumps"
中找出最长的单词(如 "quick"
)。
- 统计元音字母:编写函数
countVowels(str)
,返回字符串中元音字母(a/e/i/o/u)的总数。
- 交替合并数组:将
[1, 3, 5]
和 [2, 4, 6]
合并为 [1, 2, 3, 4, 5, 6]
。