我正在寻找一种方法来检索没有最后一个元素的数组,并且不会发生变异。
_.remove
确实改变了数组并按值搜索而不是索引(即使它是asked there)_.without
按值搜索,而不是搜索我有_.filter(array, function(el, i) { return i != array.length -1});
但是siouf,不是非常明确的,它需要将数组存储在某个地方。
由于
答案 0 :(得分:3)
我一直在寻找类似“butlast”的东西,但我找到了initial
,它完成了这项工作:
var xs = [1, 2, 3, 4];
var xs2 = _.initial(xs);
console.log(xs, xs2); // [1, 2, 3, 4] [1, 2, 3]
答案 1 :(得分:3)
Array.prototype.slice
可能会对您有所帮助。
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]
当然,您也可以使用lodash
由于
答案 2 :(得分:1)
试试这个:
_.take(arr, arr.length-1)