小编PWT*_*PWT的帖子

使用javascript在对象中搜索数组而不使用循环

我想找到比使用2次迭代在对象中查找值更好,更优雅的解决方案.我查看了在一个数组中搜索的函数,例如find,indexOf,但我想知道我可以在不使用for或forEach的情况下搜索对象.

假设我想找到所有游泳运动员.到目前为止我得到了什么.

members = [
  { name: "Sue", hobby: ["Swimming", "Running", "Dancing"] },
  { name: "Sam", hobby: ["Cars", "Travelling"] },
  { name: "John", hobby: ["Reading", "Swimming"] },
  { name: "Rob", hobby: ["Running", "Coding"] },      
];
function findSwimmers(members, hobby) {      
  let swimmers = [];      
  members.forEach(function (e){        
    e.hobby.forEach(function (element){          
      if (element.toLowerCase() === hobby.toLowerCase()) {
        swimmers.push(e);
      }
    });
  });
  return swimmers;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays search object

2
推荐指数
1
解决办法
73
查看次数

标签 统计

arrays ×1

javascript ×1

object ×1

search ×1