我很确定该功能存在于LoDash中,但我在文档中找不到它:
_.complete([el1, el2], 5, 0) // [el1, el2, 0, 0, 0]
一种方法,可以在某个length
之前完成数组,并且具有一定的value
。
是吗?
由于
答案 0 :(得分:4)
有_.fill
,但它并不完全是你想要的,因为它不会改变数组长度。但是,您可以将其与_.assign
:
_.assign(_.fill(new Array(5), 0), ["a", "b"])
// returns ["a", "b", 0, 0, 0]
请注意,这会返回一个新数组,而不是改变现有数组。
如果要改变数组,可以这样做:
function complete(arr, val, length) {
var oldLength = arr.length;
arr.length = length;
return _.fill(arr, 0, oldLength);
}