【发布时间】:2021-03-15 03:23:41
【问题描述】:
所以,我对编程还很陌生,我试图只显示 api 响应数组中的某些对象。除此之外,我正在使用 JSReport 和 Handlebars。有没有办法过滤掉具有特殊值的那些?
这是一个示例代码:
{
"data": {
"books": {
"author": {
"name": "Book Bookinson",
"books": [
{
"name": "book 1 ",
"stars": "3"
},
{
"address1": "book 2 ",
"phone1": "1"
},
{
"name": "book 3 ",
"stars": "3"
},
{
"address1": "book 4 ",
"phone1": "3"
},
]
},
}
}
所以在上面的代码中,我想过滤掉,所以我只得到带有“stars”的对象:“1”,并跳过其余部分。有没有一种我还不知道的干净、简单的方法来做到这一点?我知道我可以使用该对象然后对它们进行索引,但我得到了一长串可能确实需要过滤器的对象。
这里的新鲜人,请放轻松!
【问题讨论】:
-
对于 javascript 数组,您可以使用
.filter()或.find()。他们做不同的事情,但是您的问题对于哪一个合适是模棱两可的。您可以阅读文档以了解它们之间的差异。 -
您需要带有
stars == 1过滤书籍的完整对象还是只需要过滤器dbooks数组? -
需要完整的对象。更准确地说,有不同类型的交易,每一个都有一个“typeCode”,比如“buy”或“sell”,我想过滤掉,所以我只得到“buy”作为例子,然后能够使用连接到 typeCode 的值。
-
@MathiasKoerth 希望答案对您有所帮助,直到发布更有效的答案?
-
使用react + apollo客户端,无需学习古老技术;)
标签: javascript json graphql handlebars.js jsreport