【发布时间】:2015-10-15 18:48:50
【问题描述】:
第一次发帖。通过stackoverflow寻找答案,但没有找到。如果我错过了,这是一个重复的问题,请评论一个链接,我会删除这个! (这里是新手)
所以基本上,我有一个包含对象的数组them_dogs。我正在尝试编写一个接受数组和对象值的函数,比如'tennis ball'。然后,此函数将查看数组中的每个项目并检查值 'tennis ball' 是否存在。如果是这样,它将返回项目名称。
var them_dogs = [{
name: 'Henry',
age: 0.5,
breed: 'Aussie',
food: 'kibble',
toys: ['tennis ball', 'chew toy'],
picture: 'http://rubyriverminiaustralianshepherds.com/wp-content/uploads/aussie-puppy-for-sale-940x412.jpg'
}, {
name: 'Tilly',
age: 5,
breed: 'Mutt',
food: 'kibble',
toys: ['bone', 'kong', 'squeaky toy'],
picture: 'http://www.dogchannel.com/images/zones/top_promo/excited-mixed-breed.jpg'
}, {
name: 'Apollo',
age: 10,
breed: 'Labrador',
food: 'absolutely anything',
toys: ['old sock', 'other old sock', 'more old socks'],
picture: 'http://media.cmgdigital.com/shared/img/photos/2014/08/01/5a/66/LadyLabrador.jpg'
}]
这里是函数
var findDogByToy = function (arr, toyname) {
arr.forEach (function (item) {
if (item.toys === toyname) {
return item.name;
}
})
}
findDogByToy(them_dogs, 'tennis ball');
【问题讨论】:
-
当您想查找一项时,使用 forEach 不是正确的解决方案。如果两只动物拥有相同的玩具会怎样?
-
@epascarello,说得好。
标签: javascript arrays object foreach