2017-03-23 8 views
0

内のオブジェクトの配列を検索私は、次のデータを含む各オブジェクトにオブジェクトの配列を有します。今すぐタイプするものは-1を返します。タグがクエリと一致する場合、どのように変更された配列を取得できますか?ノード

また、現時点では、有効なタグを含めて、タイプするものは-1を返します。

その時点で、私は修正された配列で回り込み、あなたがそこに見るようにそれをテンプレートに注入します。

router.get('/search/:tag', function(req, res) { 
    const tag = req.params.tag; 
    shopify.article.list(86289414) 
    .then(function (response) { 
    response.reverse(); 

    index = response.indexOf(response.filter(function(item) { 
     return item.tags == tag 
    })) 

    console.log(index); 

    var data = { 
     articles: index.map((article) => { 
     return { 
      author: article.author, 
      id: article.id, 
      html: article.body_html, 
      tags: article.tags, 
      date: moment(article.published_at).format("Do MMM YYYY"), 
      slug: article.handle, 
     } // return 
     }) // map 
    } // data 

     res.json(data); 

    }) // then 
    .catch(err => console.log(err)) 
}); 

これを行うにはどのような方法が良いですか?

ありがとうございました!

P.S.私はロダッシュを見て何も見つけられませんでした。私はロダシュの道を開いている。

+1

本当にオブジェクトリテラルな画像を投稿しないでください。テキストとして投稿してください。 – trincot

+0

'Array.filter()'は配列を返します。 'indexOf(returnedArray)'は常に-1になります。なぜなら、返される配列は元の配列の部分集合に過ぎないからです。 – cdbajorin

答えて

0

次のコードで解決しました。

response = response.filter(function(item) { 
    return item.tags.indexOf(tag) > -1; 
    });