在开发过程中,涉及填充已有数组对应值到指定长度,随机写了个方法,当原始数组短于或长于所需长度时,都可实现填充或截取。总结如下。
以下用例演示了如何使用concat andfill 方法将具有相应值的 JavaScript 数组填充到指定长度。
以下是解决方案:
const padArray = (arr, len, fill) => {
if (arr.length >= len) {
return arr.slice(0, len);
}
return arr.concat(Array(len - arr.length).fill(fill)).slice(0, len);
};
padArray函数首先检查原始数组的长度(arr.length)是否大于或等于所需的长度 (len)。- 如果长度大于或相等,则该函数使用
slice方法将原始数组的一部分从索引 0 提取到所需长度。这可确保将数组截断为所需的长度。 - 如果长度小于所需长度,则函数像以前一样继续填充逻辑,使用
concat方法将原始数组与使用fill方法创建的新数组连接起来。然后使用slice该方法将生成的数组修剪为所需的长度。
可以根据特定要求随意修改fill值、所需长度 (len) 和原始数组 (arr)。
下面是一个用法示例:
const originalArray = [1, 2, 3];
const paddedArray = padArray(originalArray, 6, null);
console.log(paddedArray); // [1, 2, 3, null, null, null]
这将输出为填充数组。[1, 2, 3, null, null, null]