在前端开发中,经常需要对数组进行操作,其中数组合并是常见的操作之一。在 ES7 中,Array.prototype.fill() 方法和 Array.prototype.slice() 方法可以帮助我们实现数组合并。
Array.prototype.fill() 方法
Array.prototype.fill() 方法可以将数组中的所有元素替换为指定的值。该方法有两个参数:value 和 start 和 end。
- value:要替换成的值
- start:起始位置
- end:结束位置
示例代码如下:
const arr = [1, 2, 3, 4, 5]; arr.fill(0, 2, 4); // [1, 2, 0, 0, 5]
上述示例代码中,将数组中从索引 2 到索引 4 之间的元素替换成了 0。
利用 Array.prototype.fill() 方法,我们可以实现数组合并,示例代码如下:
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = [7, 8, 9]; const result = arr1.concat(arr2, arr3); result.fill(0, arr1.length, arr1.length + arr2.length); // [1, 2, 3, 0, 0, 0, 7, 8, 9]
上述示例代码中,我们将三个数组合并,并将第二个数组和第三个数组中的元素替换成了 0,从而实现了数组合并。
Array.prototype.slice() 方法
Array.prototype.slice() 方法可以返回一个新的数组,该数组包含从起始位置到结束位置之间的所有元素。该方法有两个参数:start 和 end。
- start:起始位置
- end:结束位置
示例代码如下:
const arr = [1, 2, 3, 4, 5]; arr.slice(2, 4); // [3, 4]
上述示例代码中,返回了从索引 2 到索引 4 之间的元素。
利用 Array.prototype.slice() 方法,我们可以实现数组合并,示例代码如下:
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = [7, 8, 9]; const result = arr1.slice().concat(arr2.slice(), arr3.slice());
上述示例代码中,我们将三个数组合并,并使用 Array.prototype.slice() 方法返回新的数组,从而实现了数组合并。
总结
Array.prototype.fill() 方法和 Array.prototype.slice() 方法是 ES7 中实现数组合并的两种方法。利用这两种方法,我们可以方便地将多个数组合并成为一个数组。在实际开发中,我们可以根据具体需求选择合适的方法实现数组合并。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6553537ad2f5e1655dd12aa1