LoDash:完整的数组值,直到长度

时间:2015-07-16 14:24:26

标签: lodash

我很确定该功能存在于LoDash中,但我在文档中找不到它:

_.complete([el1, el2], 5, 0) // [el1, el2, 0, 0, 0]

一种方法,可以在某个length之前完成数组,并且具有一定的value

是吗?

由于

1 个答案:

答案 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);
}