2016-12-20 5 views
0

Возьмите следующие данные:Как найти дочерний объект со значением свойства, используя underscorejs и jquery?

object { 
    name: 'foo' 
    children: [ 
     { 
     'name': 'cat' 
     'color': 'green' 
     }, 
     { 
     'name': 'dog' 
     'color': 'blue' 
     }, 
     { 
     'name': 'bird' 
     'color': 'red' 
     } 
    ] 
} 

Как я могу использовать underscorejs, JQuery и JavaScript, чтобы найти и выбрать ребенка, где имя = собака? Я попытался использовать _.findWhere(objectdata.children,{name:'dog'}), но это тоже не сработало.

Спасибо за помощь!

ответ

1

С Underscore.js вы могли бы просто использовать функцию фильтра, такие как:

var child = _.filter(object.children, obj => obj.name === 'dog'); 

Вам не нужно JQuery для этого.

Надеется, что это помогает ;-)

1

В JQuery вы можете использовать фильтр, чтобы получить дочерний объект.

var obj = { 
 
    name: 'foo', 
 
    children: [ 
 
     { 
 
     'name': 'cat', 
 
     'color': 'green' 
 
     }, 
 
     { 
 
     'name': 'dog', 
 
     'color': 'blue' 
 
     }, 
 
     { 
 
     'name': 'bird', 
 
     'color': 'red' 
 
     } 
 
    ] 
 
}; 
 

 
console.log(obj.children.filter(function(e){return e.name == "dog";})[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>