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

如何基于用户输入使用filter()方法筛选出仅含数字3的数组?

问题解决方法

问题根源

通过prompt获取的用户输入是字符串类型,使用split("")分割后得到的数组元素都是字符串(例如"3"),而你的find_3函数中使用严格相等运算符===比较字符串和数字3,因类型不匹配导致筛选失败。

修复方案

方案一:调整比较逻辑,匹配字符串"3"

直接修改判断条件,让它检查字符串形式的"3":

var number = prompt("请输入数字", "");
var matrix = number.split("");

function find_3(value) {
  return value === "3";
}

var result = matrix.filter(find_3);
document.write(result);

方案二:将数组元素转为数字后筛选

先把分割后的字符串元素转换成数字,再用原判断逻辑筛选:

var number = prompt("请输入数字", "");
// 分割后逐个转换为数字
var matrix = number.split("").map(item => parseInt(item));

function find_3(value) {
  return value === 3;
}

var result = matrix.filter(find_3);
document.write(result);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:52:24