Как получить результат соответствия строки из массива? - PullRequest
0 голосов
/ 15 октября 2019

У меня есть следующий массив: когда я набираю число «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);

Ответы [ 2 ]

1 голос
/ 15 октября 2019

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);

Надеюсь, это поможет

ОБНОВЛЕНИЕ

Как вы упомянули, номер неСтрока, так что вы можете сделать это, прежде чем вы будете comapre, это решит проблему

0 голосов
/ 15 октября 2019

Вы можете использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...