2016-03-30 9 views
0

Lodashでこれを簡略化する方法は?Lodash - 配列を取得

var t = []; 
for (var i=self.pointStart; i<self.pointEnd; i++){ 
    var el = self.points[i]; 
    t.push({lat:el.lat, lon:el.lon}); 
} 
map.scaleBounds(t); 

答えて

3

これは、珍しいインデックスを持つ本質的にmapです。配列のsliceを使用して、希望するセクションを取得してから、適切なフォームにmapをつけて開始します。多くのように:

var t = self.points.slice(self.pointStart, self.pointEnd).map(function (el) { 
    return {lat: el.lat, long: el.long}; 
}); 
map.scaleBounds(t); 

lodash方法は非常に似ています:

_.chain(self.points).slice(self.pointStart, self.pointEnd).map(function (el) { 
    return {lat: el.lat, long: el.long}; 
}).value(); 
+0

ニース!ありがとうございました:) – snuuve

0

ドロップ連鎖してみてください。

var t = _(self.points).drop(self.pointStart).take(self.pointEnd).value() 
+0

詳細を編集してください。コード専用と「試してください」の回答は、検索可能なコンテンツが含まれていないため、推奨されません。なぜ誰かが「これを試してみる」べき理由を説明しません。 – abarisone

関連する問題