2016-04-01 41 views
1

Dizimi son öğe olmadan ve mutasyona uğramadan almak için bir yol arıyorum.Lodash: Son elemansız dizi, mutasyon yok

  • _.remove değil, endeks değeri ile (o asked there bile)
  • _.without aramalar değeri değil dizine göre dizi ve aramaları mutasyona yapar

Ben _.filter(array, function(el, i) { return i != array.length -1}); ama siouf gerçekten açık değil ve bir yerde saklanmak için diziye ihtiyaç duyar.

Teşekkür

+1

sizin için olmaz dizisi dilim çalışması ile yapmak mümkün? arr.slice ([başlar [, son]]). Bu sığ bir kopya oluşturacak ve ayrıca -1 için son kullanabilirsiniz. – 82Tuskers

cevap

3

ben "butlast" gibi bir şey arıyordu ama iş yok initial, bulunan:

var xs = [1, 2, 3, 4]; 

var xs2 = _.initial(xs); 

console.log(xs, xs2); // [1, 2, 3, 4] [1, 2, 3] 
1

deneyin:

_.take(arr, arr.length-1) 
+0

İyi yakalama. Her ne kadar _.initial 'benim ihtiyacımın daha da iyi olmasına rağmen. –

2

Array.prototype.slice size yardımcı olabilir .

Elbette
var array = [1,2,3,4,5]; 
var newArr = array.slice(0, -1); 

console.log(array); // [1, 2, 3, 4, 5] 
console.log(newArr); // [1, 2, 3, 4] 

ayrıca lodash

teşekkür

İlgili konular