Array数组方法
unshift:
作用:像数组开头追加项(可以是一项或者多项)
参数:添加的具体详,可以是一项,也可以是多项
返回值:新数组的长度
是否改变原数组:改变
shift:
作用:删除数字开头的项
参数:无
返回值:删除的项
是否改变原数组:改变
push:
作用:像数组末尾追加项(可以是一项或者多项)
参数:添加的具体详,可以是一项,也可以是多项
返回值:新数组的长度
是否改变原数组:改变
pop:
作用:删除数组末尾的项
参数:无
返回值:删除的最后一项
是否改变数组:改变
reverse:
作用:实现数组的倒序
参数:无
返回值:倒序之后的数组
是否改变原数组:改变
sort:
作用:实现数组的排序
参数:无/函数function(){}
返回值:倒序之后的数组
是否改变原数组:改变
注意:如果不传参数,只能排十以内的,如果是十以外的数字可以跟一个函数
splice:
作用:从索引n开始删除m项,并且用x进行替换
参数:splice(n,m,x)
返回值:返回值还是一个数组,数组里面是删除的项
是否改变原来的数组:改变
slice:
作用:从索引n开始复制到索引m结束(不包含m项)
参数:slice(n,m)
返回值:返回值是复制的新数组
是否改变原数组:不改变
注意:
如果不写参数m,代表的含义:从索引n开始一直复制到最后。
复制整个数组:ary.slice() 或者 ary.slice(0);
concat:
作用:拼接数组
参数:可以是拼接的项,或者数组
返回值:拼接后的新数组
是否改变原数组:不改变
toString:
作用:转为字符串
参数:无
返回值:转为字符串的值
是否改变原数组:不改变
join:
作用:把数组转换为字符串,并且用指定的连接符 连接
参数:连接符
返回值:用连接符链接之后的字符串
是否改变原数组:不改变
// 可以用到 evel()进行相加
indexof:
作用:检索某项在数组中首次出现的位置
参数:(n,m)
n:检索的项
m:从哪开始检索 (包含)
返回值:索引/-1
是否改变原数组:不改变
// 注意:如果数组中没有检查的哪一项,返回结果就是(-1);
lastIndexof:
作用:检索某项在数组中最后的位置
参数:(n,m)
n:检索的项
m:从哪结束(包含)
返回值:索引/-1
是否改变原数组:不改变
includes:
作用:检测数组是否包含某项
参数:检测的项
返回值:布尔
true 包含
false 包含
是否改变原数组:不改变
reduce:
作用:计算数组元素相加后的总和:
参数:total,currentValue,currentIndex(可选),arr(可选)
forEach:
作用:遍历数组中的每一项
参数:函数,两个形参(item,index) item:是每一项,index是索引
返回值是:undefined
是否改变原数组:不改变
map:
作用:数组的映射
参数:函数,两个形参(item,index)item是每一项,index是索引
返回值:映射之后的新数组
是否改变原数组:不改变
find()
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
Array
Array.from()
作用:方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
参数:Array.from()
- arrayLike 想要转换成数组的伪数组对象或可迭代对象。
- mapFn (可选)如果指定了该参数,新数组中的每个元素会执行该回调函数。
- thisArg (可选)可选参数,执行回调函数 mapFn 时 this 对象。
Array.of()
作用:方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
参数:任意个参数,将按顺序成为返回数组中的元素。
Array.isArray()
作用:用于确定传递的值是否是一个 Array。
参数:需要检测的值。
Array.protoType.at();
作用:简化arr.length
参数:正数就表示顺数第几个,负数表示倒数第几个,这可以很方便的某个数组末尾的元素,Array.prototype.at()
接收一个正整数或者负整数作为参数,表示获取指定位置的成员
var arr = [1, 2, 3, 4, 5]
// 以前获取最后一位
console.log(arr[arr.length-1]) //5
// 简化后
console.log(arr.at(-1)) // 5
Array数组增加与减少思考题
删除数组的最后一项
- ary.pop( ) //删除末尾
- ary.splice(ary.length-1,1); //删除指定
- ary.length-- // 通过数组的方法删除
向数组末尾追加新内容,有几种办法?
- ary.push() // 向末尾添加
- ary.splice(ary.length,0,8) //指定末尾添加 删除数值为0
- ary[ary.length]=8 // 通过数组方法添加
数组遍历有几种方法?
- forEach
- map
String字符串方法
charAt():
作用:获取指定索引引位置对应的那个字符
区别如下
用索引值 [ 2 ] 获取如果超出字符长度 结果为undefined
用chaAt方法获取字符串长度,如果超出 结果为 " 空字符串 ";
trim ();
去除字符串头尾的空格;
includes(value);
查找字符串是否有自己想要的内容;
charCodeAt():
作用获取字符串中特定索引对应字符的ascii码值(十进制)
indexOf()/lastindexOf ():
检索字符串在那个位置最后出现
replace(n,m):
n:要替换的字符 (还可以是正则:符合某个规则的字符)
m:最终替换的字符(呈现)
replaceAll()
用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串。
var str="Visit Microsoft! Visit Microsoft!";
var n=str.replaceAll("Microsoft","Runoob")
// 输出结果:
Visit Runoob!Visit Runoob!
split()
作用:按照指定的字符把字符串分割成数组
参数:分割符
返回值:分割后的数组
截取String字符串的三种方法
slice (n,m) :
n:从索引n开始(包含)
m:到m开始(不包含)
索引可以是负数
subString():
跟slice参数用法相同
唯一区别就是 slice可是使用负数,subString不可以使用负数
substr(n,m):
n:从索引n开始截取 (包含)
m:截取m项 (不包含)
截取字符串的长度
------------一条完美分割线--------------
- toUpperCase():把字符串内容转换为大写
- toLowerCase(): 把字符串内容转换为小写
Math方法
Math.abs
Math.abs(-2) ==>2(求绝对值)
Math.ceil
Math.ceil(1.2) ==>2(向上取整):无论正、负都是取最大的
Math.ceil(-1.2) ==>-1
Math.floor
Math.floor(1.5)>1(向下取整)
Math.floor(-1.5)>-2
Math.round
Math.round(1.51)>2(四舍五入)
Math.round(-1.51)>-2
Math.min
Math.min(2,1,6,5,9)==>1
Math.max
Math.max(5,9,3,4,8,2) ==>9(取最小值)
Math.random
Math.random()*(n,m)+n;(获取0-1之间的随机数)
a.Math.random是取[0,1)的数;
b.取[min,max]的随机整数时使用如下公式:
Math.floor(Math.random().(max-min+1)+min)
c.取[min.max)的随机整数时使用如下公式:
Math.floor(Math.random().(max-min)+min)
d.取(min,max]的随机整数时使用如下公式:
Math.floor(Math.random().(max-min)+min+1)
Math.sprt
语法:Math.sqrt(x):(开平方)
- Math.sqrt()方法返回一个数的平方根。
- 如果传递的参数为负,则Math.sqrt()返回NaN。
- 因为sqrt()是Math的静态方法,所以您始终将其用作Math.sqrt(),而不是将其用作创建的Math对象的方法。
Math.sqrt(9); // 3
Math.sqrt(64); // 8
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
Data时间对象
new Date();是一个的对象,身上有一些属性
- getFullYear():获取年的时间
- getMonth();值得范围在0到11之间
- getDate();获取当前的日期
- getDay();值【0-6】0代表的是周日,剩下的1-6代表的周一到周六
- getHours();获取时
- getMinutes();获取分
- get.Seconds() ; 获取秒
- get.Milliseconds();毫秒
- get.Time();得到的是一个时间戳,1605837535617 距离1970年一月一日0时0分0秒的毫秒
- toLocaleString(); /2020/11/20
- toLocaleDateString(); 获取到时字符串的年月日,列如2019/12/25
- toLocaleTimeString();获取到时字符串的十分秒 列如:上午10:18:25
定时器
clearTimeout(item):清除定时器
let item = setTimeout(function(形参){
// 过多长时间之后,做一些事情(一次性)
},1000,实参)
clearInterval(Data)
let Data = setInterval(function(形参){
// 每隔多长时间就做一次
},1000,实参)
评论区