快速创建一个n位成员的数组的n种方法

比如,有个需求,需要快速创建一个100位成员的数组 arr ,那么主要有以下一些方法可以实现。

const arr = [];

  1. 传统的for 循环

for(let i = 0; i <= 10; i++) {
    arr.push(i + 1);
}
console.log(arr); // [0, 1, 2, ... 99]

  1. new Array() + forEach() 方法

(new Array(100)).fill().forEach((item, index) => arr[index] = index + 1);
console.log(arr); // [0, 1, 2, ... 99]

  1. new Array() + map() 方法

arr = (new Array(100)).fill().map((item, index) => item = index + 1);
console.log(arr); // [0, 1, 2, ... 99]

  1. Array.form() 方法

arr = Array.from({length: 100}, (item, index) => item = index +1);
console.log(arr); // [0, 1, 2, ... 99]

  1. Array.apply() + map() 方法

arr=Array.apply(null,{length:100}).fill().map((item,index) => item = index+1);
console.log(arr); // [0, 1, 2, ... 99]

  1. Array.prototype.slice() + map() 方法

arr = Array.prototype.slice.call({length: 100}).fill().map((item, index) => {
    item = index + 1;
});
console.log(arr); // [0, 1, 2, ... 99]

  1. [ ].slice() + map() 方法

arr=[].slice.call({length: 100}).fill().map((item,index) => item = index + 1);
console.log(arr); // [0, 1, 2, ... 99]

  1. ...扩展运算符 + map() 方法

arr = [...(new Array(100))].map((item, index) => item = index);
console.log(arr); // [0, 1, 2, ... 99]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 实验1:集合类 要求:实现一个整型集合类,支持以下操作: - add: 可以添加一个或多个整数,或者一个整数数组 - modify: 修改集合中的元素 - delete: 删除集合中的元素 - sort: 对集合中的元素进行排序 - serialize: 序列化集合到文件 - deserialize: 从文件中创建集合类 构造函数: - 三类 析构函数: - 一个 ### 回答2: 实验1:集合类 本实验的目的是实现一个整型集合类,常见的操作包括add(可以添加一个或多个整数,或者是一个整数数组),修改、删除、排序、序列化到文件和从文件创建集合类。为了完成这个任务,需要实现三个构造函数和一个析构函数。 构造函数 在C++中,构造函数与类名相同,用来初始化对象的成员变量。在这个实验中,需要实现三个构造函数:默认构造函数、带参构造函数和拷贝构造函数。 1.默认构造函数 默认构造函数是没有参数的,它用来初始化对象成员变量的默认值。对于整型集合类,可以将容器初始化为空。可以使用以下代码实现: Set() { container = {}; } 2.带参构造函数 带参构造函数可以将集合类初始化为指定的值。可以使用以下代码实现: Set(int* arr, int size) { container = std::vector<int>(arr, arr + size); } 3.拷贝构造函数 拷贝构造函数是用来创建一个新的对象,并将值从一个已存在的对象拷贝到新对象中。可以使用以下代码实现: Set(const Set& s) { container = s.container; } 析构函数 析构函数释放对象所占用的内存。在整型集合类中,需要调用vector的析构函数释放内存。可以使用以下代码实现: ~Set() { container.~vector(); } 以上就是本实验实现整型集合类所需要的构造函数和析构函数的详细介绍。 ### 回答3: 实验1:集合类 在面向对象编程中,集合类是很常见的一类。它可以用来存储一组对象或数据,并为这些数据提供一组操作。 本实验要求我们实现一个整型集合类,它应该支持包括添加、修改、删除、排序、序列化到文件、从文件创建集合类等操作。我们可以通过将所有数据存储在一个数组中来实现集合类。 在具体实现中,我们可以通过以下步骤来构建整型集合类: 1. 确定类的成员变量 我们首先需要确定整型集合类的成员变量。这个类需要存储整数类型的数据,因此需要一个整数类型的数组来存储数据。此外,可能需要一个变量来存储数组中实际存储的数据的数量,以便在进行添加或删除操作时更新数组的大小。 2. 编写构造函数 此类可以有三类型的构造函数。第一构造函数可以是默认构造函数,它将创建一个空的集合。第二构造函数可以接受一个整数类型的参数,用于指定集合的大小。第三构造函数可以接受一个整型数组类型的参数,来初始化集合。 3. 编写析构函数 析构函数只需要释放内存中的数组即可。 4. 实现添加、修改、删除方法 添加方法可以接受一个或多个整数类型的参数,可以是整数或数组类型。将这些参数添加到数组中,并在需要时更新存储的数据数量。 修改方法可以接受两个整数类型的参数,分别指定要修改的置和新的值。 删除方法可以接受一个整数类型的参数,用于指定要删除的值。删除操作需要更新数组中的数据和存储的数据数量。 5. 实现排序方法 可以使用标准排序算法对存储的整数数组进行排序,例如快速排序等。 6. 实现序列化到文件和从文件创建集合类的方法 序列化方法可以使用文件流将当前数据存储到文件中,从文件创建集合类方法可以读取文件中的数据并生成一个新的集合实例。 以上就是用于构建整型集合类的常见操作。在实现这些操作时,我们应该遵循面向对象的设计原则,并使用良好的编程风格。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值