2017-08-03 74 views
0

我遇到了一些基本的JavaScript问题。我希望此函数返回给定数组中名为“Ray”的所有对象的数组。我无法让推送部分工作。JavaScript过滤阵列充满了对象

const people = [{name: "Jack", age: 30}, {name: "Ray", age: 32}, {name: "Anna", age: 28}]; 
 
    
 
function findRay(arr) { 
 
    let response = []; 
 
    for(let i = 0; i < arr.length; i++) { 
 
    if(arr[i].name === "Ray") { 
 
     response.push(arr[i]); 
 
    } 
 
    } 
 
    return response; 
 
} 
 
    
 
console.log(findRay(people));

+3

对我来说很好,它会返回一个Ray对象的数组。 – yuriy636

+0

它认为它有效。你使用的是什么浏览器?尝试将const people = [......]更改为var people = [......] – terpinmd

+0

我在Chrome上。在Repl.it中也尝试过。此代码不起作用。 –

回答

2

虽然不正是你要找的人,这是一个很好的使用情况filter()。所以你可以做一些像const findRay = arr => arr.filter(person => person.name === "Ray")