【发布时间】:2016-09-07 09:42:58
【问题描述】:
我正在使用 JSON 并希望遍历一个数组并返回我正在寻找的值。例如,如果我有一个对象数组,并且每个对象都有特定书籍的信息,我如何遍历该数组中的每个对象并只返回匹配的对象?
我尝试过使用地图,就像这样(但没有按我需要的方式工作):
// books is from my imported JSON object
const favoriteBook = books.map((book) => {
if (book.title == this.props.params.id) {
return book;
}
});
console.log(favoriteBook)
但是,当我使用 console.log(favoriteBook) 时,我看到一个数组,其中返回了一个匹配的对象,加上所有不匹配的对象的“未定义”。我怎样才能让它在找到匹配项后立即停止并返回那个匹配项?如果可能的话,想知道如何使用“过滤器”(?)或类似方式来做到这一点。
谢谢。
【问题讨论】:
-
您正在寻找
.filter()方法,而不是.map() -
此外,该回调中的
this的值与它在回调外部中的值不同。
标签: javascript