一、Array和String共同拥有的:
属性名 | 作用 | 返回值 | 是否改变原数组 |
arr.slice(start,end) | 从arr中获取下标为[start,end)的数组元素,且start,end可以为负值,-1表示最后一个元素 | 为下标[start,end)的数组元素 | 不改arr |
arr.indexOf() | 从arr中获取元素的下标,寻找方式是从左到右 | 从左到右第一次出现该元素的下标,如果没有找到,返回-1 | 不改arr |
arr.lastIndexOf() | 从arr中获取元素的下标,寻找方式是从右到左 | 从右到左第一次出现该元素的下标,如果没有找到,返回-1 | 不改arr |
arr.concat(arr1)或者arr.concat(arr1,arr2) | 将两个数组合并为一个数组 | 返回合并后的数组 | 不改arr |
属性名 | 作用 | 返回值 | 是否改变原数组 |
Array.isArray(arr) | 判断arr是否为数组类型 | true/false | 不改变arr |
Array.from() | 从一个类数组或者可迭代对象中创建一个数组实例,例如Array.from("bar")得到一个数组["b","a","r"]; | 一个新数组 | |
Array.of() | 创建一个具有可变数量参数的数组,Array.of(7),得到一个数组[7] | 一个新数组 | |
arr.join(连接符) | 使用连接符将数组元素组合在一起,形成字符创 | 字符串 | 不改变arr |
arr.sort() | 数组排序,注意这里10和8的排序,10在前。如果要使其在后面则,要在sort中插入函数compare,function compare(m,n){return m-n;} | 排序后的arr | 改变arr |
arr.reverse() | 数组反序 | 反序后的arr | 改变arr |
arr.push() | 在数组末尾添加元素 | 返回添加元素后的长度 | 改变arr |
arr.unshift() | 在数组头部添加元素 | 返回添加元素后的长度 | 改变arr |
arr.pop() | 在数组末尾删除元素 | 返回被删除的元素 | 改变arr |
arr.shift() | 在数组头部删除元素 | 返回被删除的元素 | 改变arr |
arr.splice(start,howmany,item1...) | 从数组的下标为start开始删除howmany个元素,并在此位置添加item1... | 返回被删除的元素 | 改变arr |
arr.forEach(function(currentValue,index,arr){},this.value) | 对数组中的每个元素都执行内部函数,forEach的应用场景是为一些元素绑定相同的事件处理器,例如输出每个元素 | 返回值为undefined | 不改变arr |
arr.every(function(currentValue,index,arr){},this.value) | 对数组中的每个元素都执行内部函数,如果每个元素执行的结果都是true,那么返回为true,反之则为false | true/false | 不改变arr |
arr.some(function(currentValue,index,arr){},this.value) | 对数组中的每个元素都执行内部函数,只要有元素执行的结果是true,那么返回为true,反之则为false | true/false | 不改变arr |
arr.map(function(currentValue,index,arr){},this.value) | 对数组中的每个元素都执行内部函数,返回一个新数组,每个元素值为原数组执行函数后的结果 | 对应元素执行函数对应的结果数组 | 不改变arr |
arr.reduce(function(total,currentValue,index,arr){},this.value) | 从左到右将数组元素叠加为一个数 | 一个数值 | 不改变arr |
arr.reduceRight(function(total,currentValue,index,arr){},this.value) | 从右到左将数组元素叠加为一个数 | 一个数值 | 不改变arr |
arr.copyWithin(target,start,end) | 浅复制数组中的部分元素到同数组的其他位置,其中start,end可以为负,-1为最后一个元素,如果start<target<arr.length,就会将复制元素个数改变为符合数组长度,因为这个操作不会改变数组的长度。如果target>arr.length,则该操作不会执行 | 一个新的数组 | 改变arr |
arr.fill(value,start,end) | 使用value来对下标为[start,end)的元素进行赋值,如果没有Start,end,则就是所有元素都被赋值为Value | 一个新的数组 | 改变arr |
arr.find(function(currentValue,index,arr){},this.value) | 寻找数组元素中满足函数的第一个元素,如果都不满足,则返回undefined | 返回的满足函数的第一个元素或者undefined | 不改变arr |
arr.findIndex(function(currentValue,index,arr){},this.value) | 寻找数组元素中满足函数的第一个元素的下标,如果没有找到,则返回-1 | 返回下标或者-1 | 不改变arr |
arr.includes() | 判断数组中是否包含某个元素,包含则返回true,否则则返回false | true/false | 不改变arr |
属性名 | 作用 | 返回值 | 是否改变原str |
str.split(分隔符) | 使用分隔符将字符串分割为一个数组 | 数组 | 不改变 |
str.charAt() | 找到下标为某值时对应的字符,且这里下标范围为0-str.length,当下标大于字符串长度时,返回值为空 | 字符 | 不改变 |
str.charCodeAt() | 找到下标为某值时对应字符的Unicode码值 | 数值 | 不改变 |
str.toUpperCase() | 将字符串转换成大写 | 大写的字符串 | 不改变 |
str.toLocaleUpperCase() | 根据任何本地的特定的大小写映射来将其转换为大写,一般情况下与toUpperCase的结果相同 | 大写的字符串 | 不改变 |
str.toLowerCase() | 将字符串转换成小写 | 小写的字符串 | 不改变 |
str.toLocaleLowerCase() | 根据任何本地的特定的大小写映射来将其转换为小写,一般情况下与toLowerCase的结果相同 | 小写的字符串 | 不改变 |
str.substring(start,end) | 获得下标为[start,end)的字符串,且start,end不能为负 | 字符串 | 不改变 |
str.substr(start,howmany) | 获得从下标为start开始的howmany个字符串 | 字符串 | 不改变 |
str.match(reg) | 寻找字符串中与正则表达式相符合的结果,返回的是一个数组,数组中是满足整个正则表达式的结果以及满足表达式中括号内容的结果。如果没有符合项,则返回null | 数组 | 不改变 |
str.search(reg) | 返回正则在字符串中首次匹配项的索引,如果没有匹配项则返回-1 | 返回正则在字符串中首次匹配项的索引 | 不改变 |
str.replace(reg,function($0,$1){}) | 使用函数的返回值来代替满足正则表达式的字符串 | 返回新的字符串 | 不改变 |
str.exec(reg) | 返回一个数组,数组第一个元素为完全匹配正则表达式的字符串,表达式中括号内匹配成功的字符串作为数组的后续元素。如果没有匹配项,则返回null | 返回一个数组 | 不改变 |