数组与字符串函数2

数组练习题

  1. 合并数组并去重:将 [1, 2, 3][3, 4, 5] 合并为一个新数组,并去除重复元素。
  2. 检查数组是否包含元素:编写函数 hasElement(arr, element),判断数组是否包含指定元素。
  3. 数组元素拼接:将 ["2023", "10", "01"] 转换为字符串 "2023-10-01"
  4. 移除数组中的负数:编写函数 removeNegatives(arr),返回移除了所有负数的新数组。
  5. 扁平化多维数组:将 [1, [2, [3, [4]]]] 转换为 [1, 2, 3, 4]
  6. 计算数组元素的平均值:编写函数 average(arr),返回数组元素的平均值。
  7. 查找第一个质数:编写函数 findFirstPrime(arr),返回数组中第一个质数。
  8. 反转数组但不改变原数组:用 toReversed 方法反转数组 [1, 2, 3]
  9. 检查数组是否单调递增:编写函数 isIncreasing(arr),判断数组是否严格递增。
  10. 生成特定范围数组:生成 [5, 10, 15, 20, 25](从5开始,每次加5,共5个元素)。

字符串练习题

  1. 提取URL中的域名:从 "https://www.example.com/page" 中提取 "www.example.com"
  2. 判断回文字符串:编写函数 isPalindrome(str),判断字符串是否是回文(如 "level")。
  3. 替换所有数字为星号:将 "ID: 12345, Phone: 67890" 替换为 "ID: *****, Phone: ******"
  4. 检查字符串格式:判断 "2023-10-01" 是否满足 YYYY-MM-DD 格式(长度为10,第4和第7位是短横线)。
  5. 填充字符串:将 "7" 格式化为长度4的字符串 "0007"(左侧补零)。
  6. 统计子串出现次数:编写函数 countSubstring(str, sub),返回子串出现的次数(如 "ababa""aba" 出现2次)。
  7. 首字母大写转换:将 "hello world" 转换为 "Hello World"
  8. 隐藏手机号中间四位:将 "13812345678" 转换为 "138****5678"
  9. 统计字符频率:编写函数 countChars(str),返回对象如 {a: 2, b: 1}
  10. 分割带分隔符的字符串:将 "a,,b,c," 按逗号分割为 ["a", "b", "c"](去除空元素)。

综合应用题

  1. 处理混合字符串:将 "A1B2C3" 转换为 "A-1-B-2-C-3"
  2. 转换对象数组格式:将 [{name: "Alice", age: 25}, {name: "Bob", age: 30}] 转换为 ["Alice (25)", "Bob (30)"]
  3. 找出最长单词:从 "The quick brown fox jumps" 中找出最长的单词(如 "quick")。
  4. 统计元音字母:编写函数 countVowels(str),返回字符串中元音字母(a/e/i/o/u)的总数。
  5. 交替合并数组:将 [1, 3, 5][2, 4, 6] 合并为 [1, 2, 3, 4, 5, 6]