数组与字符串函数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]。