Lodash:没有最后一个元素的数组,没有突变
Lodash: Array without last element, no mutation
我正在寻找一种方法来检索没有最后一个元素且不发生突变的数组。
_.remove
确实改变数组并按值而不是索引搜索(即使它是 asked there)
_.without
按值搜索,而不是索引
我有 _.filter(array, function(el, i) { return i != array.length -1});
但是 siouf,不是很明确,它需要数组存储在某个地方。
谢谢
试试这个:
_.take(arr, arr.length-1)
我一直在寻找类似 "butlast" 的东西,但我找到了 initial
,它可以完成工作:
var xs = [1, 2, 3, 4];
var xs2 = _.initial(xs);
console.log(xs, xs2); // [1, 2, 3, 4] [1, 2, 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
谢谢
我正在寻找一种方法来检索没有最后一个元素且不发生突变的数组。
_.remove
确实改变数组并按值而不是索引搜索(即使它是 asked there)_.without
按值搜索,而不是索引
我有 _.filter(array, function(el, i) { return i != array.length -1});
但是 siouf,不是很明确,它需要数组存储在某个地方。
谢谢
试试这个:
_.take(arr, arr.length-1)
我一直在寻找类似 "butlast" 的东西,但我找到了 initial
,它可以完成工作:
var xs = [1, 2, 3, 4];
var xs2 = _.initial(xs);
console.log(xs, xs2); // [1, 2, 3, 4] [1, 2, 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
谢谢