You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除数组空元素并提取数组字符串前3个字符

解决方案(JavaScript)

处理包含空字符串的数组

直接对原数组执行过滤空元素+截取前3字符+拼接成字符串的操作:

const originalArray = ['', 'Monday', '', '', 'Thursday', '', 'Saturday'];
// 过滤空元素并截取每个元素前3位
const processedArray = originalArray.filter(item => item).map(day => day.slice(0, 3));
// 转成逗号分隔的字符串
const result = processedArray.join(',');
console.log(result); // 输出:Mon,Thu,Sat

处理逗号分隔的字符串

先把字符串拆分成数组,再重复上述步骤:

const originalString = 'Monday,Thursday,Saturday';
// 拆分字符串为数组,过滤空元素并截取前3位
const processedArray = originalString.split(',').filter(item => item).map(day => day.slice(0, 3));
const result = processedArray.join(',');
console.log(result); // 输出:Mon,Thu,Sat

通用兼容函数(适配两种输入)

如果需要同时支持数组和字符串输入,可以写一个通用函数自动判断并处理:

function processDays(input) {
  let dayArray;
  // 判断输入类型,统一转成数组
  if (typeof input === 'string') {
    dayArray = input.split(',');
  } else if (Array.isArray(input)) {
    dayArray = input;
  } else {
    throw new Error('输入必须是数组或逗号分隔的字符串');
  }
  // 过滤空元素(含纯空格的元素)、截取前3位、拼接成结果
  return dayArray
    .filter(item => item.trim())
    .map(day => day.slice(0, 3))
    .join(',');
}

// 测试数组输入
console.log(processDays(['', 'Monday', '', '', 'Thursday', '', 'Saturday'])); // Mon,Thu,Sat
// 测试字符串输入
console.log(processDays('Monday,Thursday,Saturday')); // Mon,Thu,Sat

说明:

  • filter(item => item.trim()):比单纯filter(item => item)更严谨,能同时过滤空字符串和仅包含空格的无效元素
  • slice(0,3):安全截取前3个字符,若原字符串长度不足3位会返回全部内容(比如输入"Sun"会返回"Sun")

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:10:31