2017-06-15 10 views
2

lodashドキュメントでは、これは私が範囲、_.range(start, end)を理解する方法です。JSONオブジェクトの配列のJavascriptのlodashの範囲が返されない

したがって、私は.range()をJSONオブジェクトの配列に使用しました。以下のような...

const arr = [ 
    { 
    name: 'name', 
    }, 
]; 

は、私が20個のオブジェクトを持っていたし、私はそこから第五JSONオブジェクトと5を取り戻すだろうarr._.range(5, 5);をしたとしましょう。

だから私は私にJSONオブジェクトのリストをバック与え、私は、彼らにrangeを使用するマップ機能を作成しました、ここで私が持っているものです。

import R from 'lodash'; 
const getJsonData = (offset, limit) => (
    R.map([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], x => ({ 
    title: `title ${x}`, 
    subtitle: 'description', 
    image_url: 'http://some-img-url.com', 
    date: 'date', 
    tag: 'tag', 
    places: [ 
     { 
     places: 'places', 
     }, 
    ], 
    }), R.range(offset, (limit + offset))) 
); 

だから私はgetJsonData(5, 5);のようにこれを呼び出すと思いますが、それでも私は20個のJSONオブジェクトの完全なリストを返します。

rangeの仕組みを誤解していますか?

+0

2010/03/theres-no-such-as-a-json /) – Andreas

+0

@Andreas申し訳ありませんが、私の言い訳の悪い方法です。しかし、一般的なジストは '.range()'の問題であり、私はなぜ理解していないのですか? – PourMeSomeCode

答えて

1

正しい結果が得られました。

mapの機能lodashは、3番目のパラメータを受け入れません。

したがって、rangeコールは考慮されません。だから、

https://lodash.com/docs/4.17.4#map

、私はあなたがこのようslice機能を使用することをお勧め:(http://benalman.com/news/ [ "JSONオブジェクト" のようなものはありません]

import R from 'lodash'; 
const getJsonData = (offset, limit) => (
    R.slice(
     R.map([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], x => ({ 
      title: `title ${x}`, 
      subtitle: 'description', 
      image_url: 'http://some-img-url.com', 
      date: 'date', 
      tag: 'tag', 
      places: [ 
       { 
        places: 'places', 
       }, 
      ], 
     })) 
    , offset, limit + offset) 
); 
+0

大丈夫です。だから私は実際に何をする必要があります。完全な配列を完全に返し、 '.range'を呼び出します。私はそれを試してみましょう:) – PourMeSomeCode

+0

完全な配列をスライスすることができます。私は例を追加しました。 –

+0

恐ろしい歓声!ええ、私はばかです:)私はあなたの答えを受け入れるでしょう。しかし、一つのことは、 'offset、limit + offset'は' slice'の外側です。更新は '}))、offset、limit + offset、)、);' – PourMeSomeCode

関連する問題