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

如何修改JavaScript函数,过滤数组中非字符串与奇数长度字符串?

修正后的函数实现

你的原代码存在两个核心问题:一是未过滤非字符串类型元素,二是错误地直接对元素本身做取余判断,而非针对字符串长度。以下是符合需求的实现:

function evenLength(items) {
  return items.filter(item => {
    // 先校验是否为字符串类型,再检查长度是否为偶数
    return typeof item === 'string' && item.length % 2 === 0;
  });
}

关键说明:

  • 通过typeof item === 'string'筛除数组中所有非字符串元素(比如数字、对象、布尔值等)
  • 用item.length % 2 === 0判断字符串长度是否为偶数,只有同时满足两个条件的元素才会被保留
  • 简化了代码结构,直接在filter的回调中返回判断逻辑,无需额外变量存储结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:18:24