数组方法
Array.length
- 返回或设置一个数组的元素个数
- 设置length属性来截断任何数组
Array.from()
- 伪数组(arguments、Map、Set、String)转为数组
Array.isArray()
- 判断是否是数组
Array.of()
- 生成数组
Array.of(7); // [7]
Array.of(1, 2, 3); // [1, 2, 3]
Array(7); // [ , , , , , , ]
Array(1, 2, 3); // [1, 2, 3]
.toString()
- 返回一个字符串,元素见用 “,” 分隔
.join("连接符")
- 返回一个字符串,把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
.concat([])
- 拼接多个数组,原数组不改变
- 返回一个新数组
.slice(start, end)
- 截取数组下标为start到end前一个的元素,原数组不变
- 返回一个新数组
.splice(start, mount, item1,item2)
- 删除或添加数组元素,原数组改变
- 返回删除项目的新数组,
- start 添加/删除的位置
- mount 删除的项目数量
- item1, itme2 添加的新项目
.reverse()
- 颠倒数组中元素的顺序,原数组改变
- 没有返回值
.sort()
- 对数组的元素进行排序,元素组改变
- 没有返回值
- 升序:arr.sort((a,b)=> a-b);
- 降序:arr.sort((a,b)=> b-a);
.push(elem1,elem2)
- 向数组的末尾添加一个或多个元素,元素组改变
- 返回数组新的长度
.pop()
- 删除数组的最后一个元素,原数组改变
- 返回删除的元素
.unshift(elem1,elem2...)
- 向数组的开头添加一个或更多元素,原数组改变
- 返回数组新的长度。
.shift()
- 把数组的第一个元素从其中删除,原数组改变
- 返回删除的元素。
.every()
- 测试数组的所有元素是否都通过了指定函数的测试
- 返回boolean: true / false
- 语法:
arr.every((elem,index,arr) => { retrun 判断条件})复制代码
.some()
- 测试数组中的某些元素是否通过由提供的函数实现的测试。
- 返回boolean: true / false
- 语法:
arr.some((elem,index,arr) => { retrun 判断条件})复制代码
.forEach()
- 遍历数组并对数组元素进行操作, 原数组改变
- 没有返回值
- 语法:
arr.forEach((elem,index, arr) => { //TODO:对数组元素进行操作 ...})复制代码
.map()
- 复制原数组为新数组,遍历新数组并对数组元素进行操作, 不改变原数组
- 返回一个新数组
- 语法:
cosnt newArr = arr.map((elem,index, arr) => { //TODO:对数组元素进行操作 ...})复制代码
.filter()
- 过滤:复制原数组中符合条件的元素,原数组不改变
- 返回一个新数组
- 语法:
cosnt newArr = arr.filter((elem,index, arr) => { return 判断条件;})复制代码
.rduce()
- 汇总:将数组中的元素进行统计(从左向右),原数组不改变
- 返回统计值
- 语法:
cosnt total = arr.reduce((total,elem,index, arr) => { return total与elem的汇总方式;},initialValue) //initialValue为初始值复制代码
.reduceRight()
- 汇总:将数组中的元素进行统计(从右向左),原数组不改变
- 返回统计值
- 语法:
cosnt total = arr.reduceRight((total,elem,index, arr) => { return total与elem的汇总方式;},initialValue) //initialValue为初始值复制代码
.copyWithin(target, start,end)
- 从数组的指定位置拷贝元素到数组的另一个指定位置中。
- 原数组改变
.indexOf(elem, from)
- 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
.fill(value, start, end)
- 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素
.find()
- 查找满足条件的数组元素,发现一个满足条件的元素时终止循环
- 返回值 满足条件的元素或 undefined
- 不改变原数组
- 语法:
arr.find((currentValue, index, arr) => { return 查找条件;},thisValue) //thisValue传递给函数值的this值复制代码
.findIndex()
- 返回符合条件的数组第一个元素的位置,发现一个满足条件的元素时终止循环。
- 返回值: 索引位置 或 -1
- 不改变原数组
- 语法:
arr.findIndex((currentValue, index, arr) => { return 查找条件;},thisValue) //thisValue传递给函数值的this值复制代码
.includes(elem, [fromIndex])
- 判断一个数组是否包含一个指定的元素;
- 返回值: true / false。
- 不改变原数组
字符串方法
.charAt(index)
- 返回字符串在指定位置的字符。
.charCodeAt(index)
- 返回在指定的位置的字符的 Unicode 编码.
.concat(string1, string2, ...)
- 连接两个或多个字符串。
- 该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。
.match(regexp)
- 在字符串内查找一个或多个正则表达式的匹配
- 返回值:匹配结果构成的数组
.repeat(num)
- 字符串复制指定次数
.replace()
- 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
- 返回值: 替换后的新字符串
- 语法:
str.replace(/blue/gi, (v)=> return ...;);复制代码
.search()
- 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
- 返回值:匹配的 String 对象起始位置
.slice(start, end)
- 截取字符串的某个部分;
- 返回值:被提取的部分。
.split("分割符")
- 把一个字符串分割成字符串数组;
- 不改变原始字符串
- 返回值: 一个字符串数组
.substr(start,length)
- 在字符串中抽取从 开始 下标开始的指定数目的字符;
- 返回值:返回被提取的部分
.substring(from, to)
- 提取字符串中介于两个指定下标之间的字符;
- 返回值:返回被提取的部分
.toLowerCase()
- 把字符串转换为小写。
.toUpperCase()
- 把字符串转换为大写。
.trim()
- 删除字符串的头尾空格。
- 不会改变原始字符串。
- 返回值:新的字符串
.toString()
- 转为String 对象,返回一个字符串。