这是我参与「第五届青训营 」伴学笔记创作活动的第12天
Array
元素可以是任何数据类型,相当于python的列表
-
函数实现:
new Array();
-
常用操作:
-
.length:返回长度
-
.push(新元素)/pop():在结尾处增/删元素
-
.unshift(新元素)/shift():在开头处/增删元素
-
.splice(x, y[, i1, i2]):从索引x开始(包括索引x)删除y个元素,并在索引处添加元素i1和i2,返回删除的元素,y可为0 (此时为插入操作)
-
.concat(另一数组):连接两数组,返回新数组
-
.join(字符):用字符将数组连接起来后返回字符串,若有元素不是字符串类型会自动转换,和python的join参数位置是反的
-
.sort()/reverse():升序排序/翻转 (直接对原数组操作,且返回操作后的数组)
- 无参的sort()会先将元素转为字符串再排序,sort参数可为函数
- 数字升序排序:
arr.sort(function(a,b){return a-b});
-
.indexOf(元素):搜索元素位置返回索引,失败返回-1
-
.slice([索引1,索引2]):返回索引区间子数组,左闭右开,相当于python的切片操作
-
-
高阶函数:下列 的函数名可换成用function现写的函数
- .map(函数):对arr的每个元素执行函数,返回数组
- .filter(函数):对arr的每个元素执行函数,为真则保留,返回数组
- .reduce(函数):使用函数对数组某元素和其下个元素做累加计算,返回计算结果。函数必须包含两个参数
Math
-
.max/min(n1,n2...):返回传入数字中的最大/最小值
- 返回数组中的最大/最小值:.max/min.apply(null, [n1,n2...])
-
.round/ceil/floor(num):返回将num四舍五入、向上/下取整后的数字
-
.abs(num):返回num绝对值
-
.random():返回[0,1)中的随机数
- 返回
[n,m)
中的随机整数:Math.floor(Math.random()*(m-n)+n)
- 返回
Date
-
函数实现:new Date(年,月,日,时,分,秒); or new Date("年 月 日 时 分 秒");
- 无参返回结构化的本地时间
- 月份/星期都从0开始
-
设置时间:setXXX()
- 如
setDate()
、setHours()
- 如
-
获取时间:将set改为get