string&array 常用方法

101 阅读6分钟

string&array 常用方法

string 常用方法

首先区分基本字符串和字符串对象的区别 字符串字面量 (通过单引号或双引号定义) 和 直接调用 String 方法(没有通过 new 生成字符串对象实例)的字符串都是基本字符串。JavaScript会自动将基本字符串转换为字符串对象,只有将基本字符串转化为字符串对象之后才可以使用字符串对象的方法。当基本字符串需要调用一个字符串对象才有的方法或者查询值的时候(基本字符串是没有这些方法的),JavaScript 会自动将基本字符串转化为字符串对象并且调用相应的方法或者执行查询。

  • charAt() 从一个字符串中返回指定的字符。参数字符下表index。 str.charAt(index) 参数index为字符索引值(下标)

  • charCodeAt() 返回 0 到 65535 之间的整数,表示给定索引处的 UTF-16 代码单元。 str.charCodeAt(index) 参数index为字符索引值(下标)

  • concat() 将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。 str.concat(str2 [,...strN]) 参数str2,...strN,需要拼接的字符串。 返回一个新字符串,不改变就字符串的值。

  • includes() 用于判断字符串是否包含在另一个字符串中,根据情况返回true或false。 str.includes(searchStr[,position]) 参数searchStr,要在此字符串中查找的字符串。 参数position,从当前字符串的哪个索引位置开始搜寻子字符串,默认0。

  • indexOf() 从字符串对象中返回首次被发现的给定值的索引值,若没找到返回-1。 str.indexOf(searchStr[, formIndex])

  • lastIndexOf() 从字符串对象中返回最后一个被发现的给定值的索引值,如果没有找到则返回-1。 str.lastIndexOf(searchStr[, formIndex])

  • match() 使用正则表达式与字符串相比较。

  • search() 对正则表达式和指定字符串进行匹配搜索,返回第一个出现的匹配项的下标。

  • padEnd() 在当前字符串尾部填充指定的字符串, 直到达到指定的长度。 返回一个新的字符串。 str.padEnd(targetLength [, padString])

  • padStart() 在当前字符串头部填充指定的字符串, 直到达到指定的长度。 返回一个新的字符串。

  • repeat() 返回指定重复次数的由元素组成的字符串对象。

  • replace() 被用来在正则表达式和字符串直接比较,然后用新的子串来替换被匹配的子串。

  • toUpperCase() 将字符串转换成大写并返回。

  • toLowerCase() 将字符串转换成小写并返回。

  • slice() 提取某字符串中的一部分,并返回一个新的字符串,且不会改动原字符串。 str.slice(beginIndex[, endIndex])

  • split() 使用指定的分隔符字符串将String对象分割成子字符串数组,以一个指定的分隔符字符串来决定每个拆分的位置。 str.split([separator[, limit]])

  • substr() 返回一个字符串中从指定位置开始到指定字符数的字符。 str.substr(start[, length]) satrt指定开始位置索引值(下标)。 length提取的字符数。

  • substing() 返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。 str.substring(indexStart[, indexEnd])

  • startsWith() 判断一个字符串的是否以给定字符串开头,结果返回布尔值。

  • endsWith() 判断一个字符串的是否以给定字符串结尾,结果返回布尔值。

  • trim() 从字符串的开始和结尾去除空格。参照部分 ECMAScript 5 标准。

  • toString()

  • valueOf()

array 的常用方法

  • Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

  • Array.isArray() 用于确定传递的值是否是一个 Array。

修改器方法(这些方法会改变调用它们的对象自身的值)

  • pop() 删除数组的最后一个元素,并返回这个元素。

  • push() 在数组的尾部增加一个或多个元素,并返回数组的新长度。

  • reverse() 颠倒数组中元素的排列顺序。

  • shift() 删除数组的第一个元素 ,并返回该元素。

  • unshift() 在数组的开头增加一个或多个元素,并返回数组的新长度。

  • sort() 对数组进行排序,并返回当前数组。

  • splice() 在任意位置给数组添加或者删除任意个元素。 array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

访问方法(这些方法绝对不会改变调用它们的对象(原数组)的值,只会返回一个新的数组或者返回一个其他期望值)

  • concat() 返回一个由当前数组和其他若干个数组或若干个非数组值组成的新数组。

  • includes() 判断当前数组是否包含某个指定的值,是则返回ture,否则返回false。

  • join() 链接所有数组元素组成一个字符串

  • slice() 抽取当前数组的一段元素组成一个新数组。

  • toString() 返回由所有数组元素组合而成的字符串。 [1,2,3].toString() ==> "1,2,3"

  • indexOf() 返回数组中第一个与指定值相等的元素的索引,找不到则返回-1

  • lastIndexOf() 返回最后一个与指定值相等的元素的索引,找不到则返回-1

迭代方法

有很多方法都需要指定一个回调函数作为参数。在每一个数组元素都分别执行完回调函数之前,数组的length属性会被缓存在某个地方,所以,如果你在回调函数中为当前数组添加了新的元素,那么那些新添加的元素是不会被遍历到的。

  • forEach() 为数组中的每个元素执行一次回调函数。

  • every() 如果数组的全部元素都满足测试函数,则返回true,否则false

  • some() 如果数组至少有一个满足测试函数,则返回true,否则false

  • filter() 将所有在过滤函数中返回true的数组元素放在一个新数组并返回(返回新数组)。

  • map() 返回一个由回调函数的返回值组成的新数组(返回新数组)。

  • reduce() 从左往右为每一个数组元素执行一次回调函数,并把上一次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

  • reduceRight() 从右往左为每一个数组元素执行一次回调函数,并把上一次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

  • find() 找到数组中满足回调函数返回值的元素,找不到返回undefined

  • findIndex() 找到数组中满足回调函数返回值的元素下标,找不到返回-1

  • keys() 返回一个数组迭代器对象,该迭代器包含所有数组元素的键

  • values() 返回一个数组迭代器对象,该迭代器会包含所有数组元素的值