嗨,大家好,我正试图将所有具有Calderon名称的人都放入一个新数组中。

可能吗?

people = [
    {name: 'Felipe Calderon', year: 2012},
    {name: 'Rocio Calderon Martinez', year: 2012},
    {name: 'Laura Martinez Calderon', year: 2012},
    {name: 'Marcos Alberto Gonzales Calderon', year: 2012},
    {name: 'Brenda Calderon Ibañez', year: 2012},
];


当我在字符串上使用indexOf时,它可以完美地工作,但不能使用数组,它似乎只在id的名称中以Calderon开头,但是bot包含了单词。

最佳答案

要将一个数组过滤为另一个数组,需要使用filter()函数:

let calderons = people.filter(person => person.name.indexOf('Calderon') >= 0);


或者,如果您不能使用lambda函数:

var calderons = people.filter(function(person) {
    return person.name.indexOf('Calderon') >= 0;
});

07-26 09:35