Lui*_*izo 4 javascript dictionary function object react-native
下面这个函数的最初想法是它应该只在ID匹配时返回卡(一个对象),但是它没有返回任何东西(它返回undefined):
showDetails(cards, id){
cards.map(function(card, index){
if(card.id==id){
console.log(card);
return card;
}
})
}
Run Code Online (Sandbox Code Playgroud)
然后我意识到我的返回范围错误,我需要返回循环返回的内容,所以我想出了这个:
showDetails(cards, id){
return (cards.map(function(card, index){
if(card.id==id){
return card;
}
}))
}
Run Code Online (Sandbox Code Playgroud)
上面代码的结果是:[undefined,Object]
我只是希望这个函数showDetails返回对象,而不是数组.
谢谢!
Nin*_*olz 10
您可以使用Array#some提前退出.
function showDetails(cards, id) {
var result;
cards.some(function(card) {
if (card.id === id) {
result = card;
return true;
}
});
return result;
}
Run Code Online (Sandbox Code Playgroud)
或者使用ES6方法 Array#find
function showDetails(cards, id) {
return cards.find(function(card) {
return card.id === id;
});
}
Run Code Online (Sandbox Code Playgroud)