Array API

数组操作常用 API 有以下几种:

push

语法: array.push(elem1, ..)
含义: 从数组尾部加入数组元素,返回加入数组的元素;
示例:

  1. var arr = [1, 2, 3];
  2. var new = arr.push(4);
  3. console.log(arr, new); // => [1,2,3,4] 4

pop

语法: array.pop()
含义: 从数组尾部移除一个数组

split

元素,返回取出的元素;
语法: string.split()
示例:

  1. var arr = [1, 2, 3];
  2. var out = arr.pop();
  3. console.log(arr, out1); // => [1,2] 3

unshift

语法: array.unshift(elem1, ..)
含义: 从数组头部加入数组元素,返回加入数组的元素。
示例:

  1. var arr = [1, 2, 3];
  2. arr.unshift(0);
  3. console.log(arr); // => [0,1,2,3]

shift

语法: array.shift()
含义: 从数组头部移除一个数组元素,返回取出的元素;
示例:

  1. var arr = [1, 2, 3];
  2. var out = arr.shift();
  3. console.log(arr, out2); // => [2,3] 1

reverse

语法: array.reverse()
含义: 将原数组反转并返回;
示例:

  1. var arr = [1, 2, 3];
  2. arr.reverse();
  3. console.log(arr); // => [3,2,1]

sort

语法: array.sort(compareFunc)
含义: 默认以字符编码对数组元素进行排序,可选参数 compareFunc 为一个用于比较的回调函数,具有两个参数,不调换位置应返回负数,调换位置应返回正数;
示例:

  1. var arr = [1, 2, 10, 15, 3];
  2. function descSort(a, b) {
  3. if (a > b) {
  4. return -1;
  5. } else {
  6. return 1;
  7. }
  8. }
  9. function asceSort(a, b) {
  10. if (a < b) {
  11. return -1;
  12. } else {
  13. return 1;
  14. }
  15. }
  16. // 根据字符编码排序
  17. arr.sort();
  18. console.log(arr); // => [1,10,15,2,3]
  19. // 降序排序
  20. arr.sort(descSort);
  21. console.log(arr); // => [15,10,3,2,1]
  22. // 升序排序
  23. arr.sort(asceSort);
  24. console.log(arr); // => [1,2,3,10,15]

concat

语法: array.concat(elem1, ..)
含义: 在调用数组对象后逐个插入参数(可以是数组),最终返回新的拼接结果数组;
示例:

  1. var arr1 = [1, 2],
  2. arr2 = [3, 4],
  3. arr3;
  4. arr3 = arr1.concat(arr2); // 将arr2的元素拼接在arr1后面,将拼接结果数组返回
  5. console.log(arr3); // => [1,2,3,4]

slice

语法: array.slice(start, end)
含义: 返回一个数组副本,元素为必需参数 start 开始到可选参数 end(不包括)之间的数组元素,不指定 end 参数时,默认获取之后所有的元素,两个参数都不指定则返回一个原数组的副本;
示例:

  1. var arr = [1, 2, 3];
  2. console.log(arr.slice() === arr); // => false
  3. console.log(arr.slice(1, 2)); // => [2]
  4. console.log(arr.slice(1)); // => [2, 3]

splice

语法: array.splice(start, length, elem1, ..)
含义: 从原数组中 start 位置开始移除 length 个数组元素,并插入多个数组元素,如果只提供两个参数则只是移除指定元素,最终将取出的元素返回。使用 splice() 可以实现删除、插入、删除并插入数组元素等操作;
示例:

  1. var arr1 = [1, 2, 3, 4];
  2. var arr2 = arr1.splice(2, 2, 5, 6); // 删除并插入操作
  3. console.log(arr1, arr2); // => [1,2,5,6] [3,4]
  4. arr1.splice(2, 0, 3, 4); // 插入操作
  5. console.log(arr1); // => [1,2,3,4,5,6]
  6. arr1.splice(4, 2); // 删除操作
  7. console.log(arr1); // => [1,2,3,4]

join

语法: array.join(mark)
含义: 根据分隔符 mark 将数组元素拼接为字符串返回,默认分隔符为”,”;
示例:

  1. var arr = [1, 2, 3, 4];
  2. var str1 = arr.join();
  3. var str2 = arr.join("-");
  4. console.log(str1, str2); // => "1,2,3,4" "1-2-3-4"

String API

字符串操作常用 API 有以下几种:

charCodeAt

语法: string.charCodeAt(index)
含义: 返回在指定的位置的字符的 Unicode 编码;
示例:

  1. console.log('Go to school.'.charCodeAt(1)); // => 111

indexOf

语法: string.indexOf(cldStr)
含义: 获取子字符串在父字符串中第一次出现的位置(索引值),如果无匹配的位置则返回-1;
示例:

  1. console.log('ABC'.indexOf('B')); // => 1

lastIndexOf

语法: string.lastIndexOf(cldStr)
含义: 获取子字符串在父字符串中最后一次出现的位置(索引值),如果无匹配的位置则返回-1;
示例:

  1. console.log('ABCBA'.lastIndexOf('B')); // => 3

substr

语法: string.substr(index, length)
含义: 从起始索引号提取字符串中指定数目的字符;
示例:

  1. var oriStr = 'ABCD';
  2. var cldStr = oriStr.substr(1, 2);
  3. console.log(oriStr, cldStr); // => "ABCD" "BC"

substring

语法: string.substring(start, end)
含义: 功能与 substr 一样,都是截取字符串,不同之处在于,substring 会截取两个索引号之间的子串;
示例:

  1. var oriStr = 'ABCD';
  2. var cldStr = oriStr.substring(1, 3);
  3. console.log(oriStr, cldStr); // => "ABCD" "BC"

toLowerCase

语法: string.toLowerCase()
含义: 将字符串中的字母转换为小写;
示例:

  1. var str = 'ABCDEFG';
  2. console.log(str.toLowerCase()); // => "abcdefg"

toUpperCase

语法: string.toUpperCase()
含义: 将字符串中的字母转换为大写;
示例:

  1. var str = 'abcdefg';
  2. console.log(str.toUpperCase()); // => "ABCDEFG"

match

语法: string.match(regexp|cldStr)
含义: 将字符串中匹配正则或指定字符串的子串组装成一个数组,如果没有匹配项则返回 null;
示例:

  1. var matchAry = 'AbabccabdaB'.match(/ab/ig);
  2. console.log(matchAry); // => ["Ab","ab","ab","aB"]

replace

语法: string.replace(regexp|cldStr, newStr)
含义: 替换字符串中匹配正则或指定字符串的子串为新字符串;
示例:

  1. var oldStr = 'AaaaaB';
  2. var newStr = oldStr.replace(/a/g, '*');
  3. console.log(oldStr, newStr); // => "AaaaaB" "A****B"

split

语法: string.split(mark)
含义: 字符串的split()方法是数组的join()方法的逆操作,即根据一个分隔符把字符串切割为数组;
示例:

  1. var str = 'A-B-C';
  2. var ary = str.split('-');
  3. console.log(str, ary); // => "A-B-C" ["A","B","C"]