繁体   English   中英

如何从数组中获取匹配字符串的结果?

[英]How to fetch result of matching string from array?

我有以下数组,当我输入数字“98”时,我想显示两个结果,当我输入“983”时,我想显示“字符串 2”的结果,但是当我输入数字“98”时,我没有得到任何结果有人帮我我在这里做错了什么吗?

这是我的以下代码

 var array = [ { name:"string 1", number:9845687, other: "that" }, { name:"string 2", number:98325678, other: "that" } ]; var foundValue = array.filter(obj=>obj.number===98); console.log(foundValue);

您可以使用includes方法通过以下方式执行此操作

 var array = [ { name:"string 1", number:98456874, other: "that" }, { name:"string 2", number:98325678, other: "that" } ]; var foundValue = array.filter(obj => { let n = obj.number.toString() if(n.includes('98')) return obj }); console.log(foundValue);

希望能帮助到你

更新

正如你提到的数字不是字符串所以你可以做的是在你comapre之前让它成为字符串它会解决问题

您可以使用indexOf检查字符串是否包含子字符串。

 var array = [ { name:"string 1", number:9845687, other: "that" }, { name:"string 2", number:98325678, other: "that" } ]; var foundValue = array.filter({ var str = obj.number.toString(); return str.indexOf(98) >= 0; }); console.log(foundValue);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM