xianzou / blog

弦奏的博客 一个混迹多年的前端开发人员,正在努力的学习中
17 stars 2 forks source link

创建长度为 100 的数组,并且每个元素的值等于它的下标 #7

Open xianzou opened 5 years ago

xianzou commented 5 years ago

创建长度为 100 的数组

不用循环创建一个长度为100的数组,并且每个元素的值等于它的下标

ES5实现

循环

var arr = new Array(100);
for(var i = 0; i<arr.length;i++){
    arr[i] = i;
}
console.log(arr); // ====>[0,1,...,99]

Array.apply()

Object.keys(Array.apply(null,{length:100}));
// console =>>> ['0','1',....'99']
//此时是字符串 需要进行循环处理
Object.keys(Array.apply(null,{length:100})).map(function(n){return +n});
// console =>>> ['0','1',....'99'] +n既可将字符串变成数字类型,也可以使用parseInt/Number

ES6实现

Array.from

Array.from(new Array(100).keys());
console.log(arr); // ====>[0,1,...,99]

扩展运算符

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

或者
[...Array(100).keys()]
xianzou commented 5 years ago

还可以使通过fill的方法: Array(100).fill().map((v, i) => i);