我有以下数组,当我输入数字'98'时我想显示两个结果,当我输入'983'时我想显示'string 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);
答案 0 :(得分:1)
U可以使用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);
希望有帮助
UPDATE
您提到的数字不是字符串,所以您可以在比较之前先将其设置为字符串
答案 1 :(得分:0)
您可以使用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);