ポケットノート


ハイデフ.
私のポストは、すべての健康と健康を見つける願っています.🙏
私はMern Stack Plus Graphqlを使用していくつかの側のプロジェクトで作業しており、しばしば私の心は最も基本的なものを忘れているので、私はどこかにそれを書くことを決めたので、私はそれらの停電の瞬間を持っているときにいくつかの参照を持っている.
一言で言えば、私のアプリケーションはMongoDBに格納されている本、著者、およびユーザーのコレクションを持っています、私のバックエンドはそこからGraphSQL質問と突然変異を使用してデータをフェッチして、最終的に反応してデータをそこからそこに取り込んだデータをレンダリングします.
私はすべての書籍ジャンル(重複せずに)をボタンとして、それらのボタンのイベントを聞いて本をフィルタリングしたい自分自身を見つける.
単純なタスクですが、私はいつも何かを考えすぎています.
結局、解決策は私に1行のコードをとった.🤦 もちろん、私の反応コンポーネントでそれを実装するとき、私は少しよりコードをコード化します.
すでにmongodbからデータを取り込んだふりをしましょう.
let books = [{
  title: "Eloquent Javascript",
  author: "Marijin Haverbeke",
  genres: ["programming", "web"]
},
{
  title: "Python For Data Analysis",
  author: "Wes McKinney",
  genres: ["coding", "finances" , "programming"]
}]
それで、ボタンのために「ラベル」を与えるために、私は最初にすべてのジャンルを持っていて、どうにか繰り返されるエントリを排除しなければなりません:
/** It joins all genres first and after that splits the entries so we have only one array as a result of the map*/ 
let allGenres = books.map(book => book.genres).join(",").split(",")

/** It converts an array of duplicates to a Set. 

Remember that creating a new Set will implicitly remove all the duplicated elements.

And the spread operator converts the set back to an array. */
let noRepeatedGenres = [...new Set(allGenres)]

クール、右?
しかし、一旦我々が「熱いショット」のために行かない理由を理解しました?
さあ行きましょう
/** Superb*/
let allGenres = [...new Set(books.map(book => book.genres).join(",").split(","))]

アレイを適切にフィルタリングすることで、最終的に自分の反応コンポーネントに実装できます.👨‍💻 🙌
私は、このポストがあなたの人生を全く変えないということを知っています、しかし、私が前に言ったように、あなたがこの種の仕事に苦労しているならば、それは将来の参照として役に立つことがありえます.
読書ありがとう!🎉
PS :(もしあなたが私にこのような記事を投稿したいなら、下記のコメントでお知らせください)