数组填充 Array().fill()

本文详细介绍了JavaScript ES6中Array的fill方法,包括基本用法和高级应用场景。通过实例展示了如何使用fill方法填充数组,以及指定开始和结束位置的填充。此外,还演示了将fill与map结合使用进行数组初始化和转换的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解释:

ES6为Array增加了fill()函数,使用制定的元素填充数组,其实就是用默认内容初始化数组

简单应用:

// 创建空数组,并往空数组添加5个3
Array(5).fill(3)
=> [3,3,3,3,3]

语法:

fill(value)    值 开始位置
fill(value, start)  值 开始位置
fill(value, start, end) 值 开始位置 结束位置(end - 1为实际结束下标)

const arr = [1,2,3,4,5,6];
arr.fill('number',2,3)
=> [1, 2, 'number', 4, 5, 6]
arr.fill('number',2,4)
=>[1, 2, 'number', 'number', 5, 6]

高级用法 :

Array(7).fill().map((item, index) => index) 
=> [0, 1, 2, 3, 4, 5, 6]

 

### C# 中 `Array.Fill` 的功能实现 在 C# 中,虽然存在一些内置的方法可以操作数组,但并没有直接提供像 JavaScript 那样的 `Array.fill()` 方法。然而,可以通过其他方式来模拟这一行为。 #### 使用循环填充数组 最简单的方式是通过传统的 `for` 循环手动赋值给数组中的每一个元素: ```csharp int[] array = new int[5]; for (int i = 0; i < array.Length; i++) { array[i] = 42; } ``` 这种方法非常直观,并且适用于任何类型的数组[^1]。 #### 利用 LINQ 和集合初始化器 另一种更现代的解决方案是利用 LINQ 库以及集合初始化器创建已填充数据的新数组实例: ```csharp using System.Linq; var filledArray = Enumerable.Repeat(42, 5).ToArray(); ``` 上述代码片段中,`Enumerable.Repeat(T element, int count)` 函数会生成指定数量重复项的一个序列,最后将其转换成标准数组形式[^2]。 #### 自定义扩展方法模仿 Array.Fill 行为 为了使语法更加简洁明了,还可以编写自己的静态类及其内部包含的扩展方法作为补充工具集的一部分: ```csharp public static class ArrayExtensions { public static void Fill<T>(this T[] array, T value) { for (int i = 0; i < array.Length; i++) array[i] = value; } } // Usage Example: int[] myNumbers = new int[10]; myNumbers.Fill(7); Console.WriteLine(string.Join(", ", myNumbers)); ``` 此自定义函数允许开发者以类似于官方 API 调用的形式完成相同任务,从而提高可读性和一致性[^3]。 --- ### 总结 尽管 C# 并不自带名为 `Array.Fill` 的成员函数,但是借助于基础控制结构或者高级库特性均能轻松达成目标效果。具体选择取决于个人偏好及实际应用场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值