JS快速构建数组方法
一、常用(普通)数组的构建
1.1 直接构建
let arr = ['mock1', 'mock2', 'mock3']
1.2 通过new Array
let arr = newArray('mock1', 'mock2', 'mock3')
let arr1 = newArray();
arr1[0] = 'mock1'
arr1[1] = 'mock2'
...
//array可设定长度,但对于map并没什么用,后面详细介绍
let arr1 = new Array(9)
二、特殊数组的构建

2.1 构建相同内容的数组
直接构建法:
简单粗暴不推荐,如果数据多,不仅构建麻烦,而且不美观
let arr = ['mock', 'mock', 'mock']
循环法: for循环
比第一种要好,但是代码依然不美观
let arr = [];
for(var i = 0;i < 3;i++){
arr.push('mock')
}
fill: 使用一个固定值来填充数组
这种显然就方便又美观多了!
let newArr = new Array(3);
newArr.fill('mock')
2.1 构建顺序(倒序数组)
直接构建法:
数据多起来,10条、20条可要了亲命
let arr = ['mock1', 'mock2', 'mock3'...]
循环法: for循环
和2.1一样的道理
let arr = [];
for(var i = 0;i < 10;i++){
arr.push(`mock${i+1}`)
}
fill + map实现
这种显然就方便又美观多了!
let newArr = new Array(10).fill('').map( (item, index) => index+1);
console.log(newArr)
可以完美打印出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
简单解释一下原理.
之所以要用fill结合map,因为new Array创建的空数组是无法map的.
比如new Array(3)创建的数组是[,,,],用map进行循环得不到任何结果.当然你说可以用for和length,我只是不太喜欢用for.map看起来更简洁舒服
所以我们新建了数组要向数组里真真切切填充一个(任何)数,因为到后面,其值还是会被map代替。
let arr = new Array(10).fill('任何数')
这时候就可以使用map方法了,然后通过每次return返回的值改变当前数组位置的值
arr.map( (item, index) => index+1 )
上面有几点要注意:
- map的时候,需要用的是序号值index,item(数组的值)对我们是没有意义的
- 当箭头函数的内容只有一行的时候,会自动return该行内容
总之,还是建议大家尽可能使用高质量、简洁的代码去构建项目.这样对性能也好,后面维护项目也好,都有很大的作用
JS快速构建数组方法的更多相关文章
- 转载: 我如何使用 Django + Vue.js 快速构建项目
原文链接: https://www.ctolib.com/topics-109796.html 正文引用如下 引言 大U的技术课堂 的新年第一课,祝大家新的一年好好学习,天天向上:) 本篇将手把手教你 ...
- js中的数组方法
数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组的原型方法,数组原型方法主要有以下这些: join()push()和pop()shift() 和 unshift()so ...
- js中常用数组方法concat join push pop slice splice shift
javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...
- js 快速生成数组的方法
//实现方法一:循环赋值var arr1 = new Array(100);for(var i=0;i<arr1.length;i++){ arr1[i] = i;}console.log(ar ...
- js学习笔记——数组方法
join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...
- 【笔记】JS中的数组方法
push()方法:可以向数组的末尾添加一个或者多个元素,并且返回新的长度 pop()方法:可以删除数组最后一个元素,并且返回被删除的元素,注意:如果数组是空的,该方法不进行任何操作,返回undef ...
- js常用的数组方法
1.创建数组的基本方法: 1.1 空数组 var obj=new Array(); 1.2 指定长度数组 var obj=new Array(size); ...
- js快速去除数组重复项
function unique1(arr) { var tmp = new Array(); tmp.push(arr[0]); for(var i=0;i<arr.length;i++) { ...
- 转载收藏(js数组方法大全)
js数组方法大全 JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组var arr2 = new Arra ...
随机推荐
- HDU 1527 取石子游戏 (威佐夫博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1527 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是 ...
- Django框架----ORM数据库操作注意事项
1.多对多的正向查询 class Class(models.Model): name = models.CharField(max_length=32,verbose_name="班级名&q ...
- 作为phper既然了解共享内存函数shmop的使用方法,那么就必须要了解一下信号量是什么,以及信号量使用的代码案例
在单独的一个PHP进程中读写.创建.删除共享内存方面上你应该没有问题了.但是实际运行中不可能只是一个PHP进程在运行中.如果在多个进程的情况下你还是沿用单个进程的处理方法,你一定会碰到问题--著名的并 ...
- Vue基础进阶 之 计算属性的使用
计算属性的基本使用 初始小示例: 代码: window.onload = () =>{ new Vue({ el:'div', data:{ msg:'' } }) } </script& ...
- MySQL乐观锁和悲观锁的概念和原理
乐观锁:在取数据时不加锁,等处理完逻辑的时候,查看是否与上一次相同,若相同则更新,若不同则拒绝. 悲观锁:在取数据时就加上锁,只有更新完数据之后,别的用户才可以进行读. (个人总结)
- java常用代码段整理(持续更新)
FileWriter指定编码格式 FileWriter 默认是用(ISO-8859-1 or US-ASCII)西方编码的,总之不是UTF-8的,而FileWriter类有getEncoding方法, ...
- Linux 基础知识选择/填空
选择题 1. 返回调用进程的进程标识号的系统函数是________. A. getpid B. getpgrp C. getppid D. setpid ##A 2. 关于文件系统的安装和卸载,下面描 ...
- mysql 5.6二进制安装
1. 进入用户家目录创建tools文件夹 # cd ~ #mkdir tools 2.下载MySQL5.6二进制包(搜狐镜像里有各版本下载http://mirrors.sohu.com/mysql/ ...
- bzoj 4237 稻草人 - CDQ分治 - 单调栈
题目传送门 传送点I 传送点II 题目大意 平面上有$n$个点.问存在多少个矩形使得只有左下角和右上角有点. 考虑枚举左下角这个点.然后看一下是个什么情况: 嗯对,是个单调栈.但不可能暴力去求每个点右 ...
- day28 网络编程
网络编程 什么是网络编程? 编写基于网络的应用程序的过程称之为网络编程 一.CS构架 C/S构架 服务器和客户端之间用网线连接 提供数据的计算机称为服务器,访问数据的计算机称为客户端 二.网络通讯的基 ...