数组和字符串的一些常用方法

一、数组常用方法:

copyWithin(target,start,end); //浅复制数组的一部分到同一数组中的另一个位置,并返回它,而不修改其大小。

entries();//方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对

every();//接收callback参数,判断数组中每个元素是否都满足要求

some();//接收callback参数,判断数组是否包含满足要求的元素

forEach();//接收callback参数,对原数组中每个元素执行相同的操作,直接修改原数组

map(); //接收callback参数,取出原数组中每个元素执行相同操作后,放入新数组中返回。不修改原数组,返回新数组

find();//接收callback参数,返回数组中满足测试函数的第一个元素的值,否则返回undefined

findIndex();//接收callback参数,返回数组中满足测试函数的第一个元素的索引,否则返回-1

fill();//用一个固定值,填充一个数组,从起始索引到终止索引内的全部元素,fill(num,start,end)//索引范围,含头不含尾

filter();//返回原数组中满足测试函数的所有元素,组成新数组。 语法: var newArr=arr.filter(callback,[thisArg])

shift();//删除数组头部(第一个)元素,并返回该元素的值,此方法会改变原数组 ,如果数组为空,返回undefined

unshift();//在数组头部(0位置)添加一个或多个元素,并返回新数组的长度。

pop();//删除数组尾部最后一个元素,并返回该元素的值,此方法会改变原素组,如果数组为空,返回undefined

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

slice();//从指定位置截取数组元素,返回新数组。arr.slice(start,end),start~end含头不含尾,end不指定时,默认从start到数组结尾。

sort();//默认按照数组元素的unicode码进行排序,返回排序后的数组,原数组被新数组替代

join();//将数组或类数组对象中的所有元素拼接成一个字符串,默认用','拼接。 ()内可以指定拼接元素,如:join(" ")/join("a")

keys();//返回一个新的Array迭代器,它包含数组中的每个索引键

splice();
// 语法:splice(start,deletCount,elem1,elem2);
// 开始位置,要删除的元素个数,元素1,元素2...
// 向数组中start位置添加,同时删除deletCount个元素,返回被删除元素组成的新数组。
// deletCount为0时,表示不删除,返回空数组

includes();//用来判断一个数组是否包含一个指定的值,酌情返回true或false //arr.includes(2)

indexOf();//返回在数组中可以找到一个给定元素的第一个索引,如果不存在,返回-1; //arr.indexOf(elem,start) start指定开始位置,默认为0

lastIndexOf();//返回指定元素在数组中的最后一个索引,如果不存在,返回-1;

reduce();//1.从左向右依次统计每个数组元素,最终汇总出一个结果 2.还可以用于二维数组拼接成一维数组
//1. var result=arr.reduce(function(prev,val,i,arr){//prev: 截止到当前元素之前的汇总值return prev+val;},startValue)
//2. var result=[[1,2],[3,4],[5,6]].reduce(function(a,b){return a.concat(b)})

reduceRight(); // 同reduce(),但从右向左

reverse();//将数组中的元素位置颠倒,反转

toString(); // 将数组元素以','拼接成一个字符串

toLocalString(); //将数组元素以特定语言环境('')的格式转换成字符串

二、字符串常用方法
  

var str="no zuo no die no can no bibi";


str.toUpperCase();//转换为大写 不会改变原有字符串
str.toLowerCase();//转换为小写 不会改变原有字符串

var charat=str.charAt(3);//获取指定下标的字符 不指定默认为0
console.log(charat);

var code=str.charCodeAt(3);//获取指定下标位置处字符的Unicode码,不指定默认为0,使用循环遍历每个字符的Unicode码
console.log(code);

var decode=String.fromCharCode(code); //将Unicode码转换为字符 String.fromCharCode();
console.log(decode);

var slice=str.slice(3,6);//获取str里面,从下标号3开始到6之前的一段字符,省略参数,默认从0开始到结束,省略第二个参数获取到结束位置
console.log(slice);

var strsub=str.substring(3,6); //同slice(),但是不支持负数参数
console.log(strsub);

var strs=str.substr(3,6);//从str里下标号3开始获取6个字符,省略参数,默认从0开始到结束,省略第二个参数从指定开始位置获取到结束位置
console.log(strs);

var index=str.indexOf("NO",3); //选取固定字符串,找到返回下标号,未找到返回-1
console.log(index); //从str里下标号3开始选取一个字符为"no"的字符串,省略第二个参数,默认从0开始

var lastindex=str.lastIndexOf("no"); //选取最后一个固定字符串,找到返回下标号,未找到返回-1
console.log(lastindex);

var search=str.search(/NO/);//支持正则,只能查找第一个匹配字符。不能设置开始位置.找到返回下标号,未找到返回-1
console.log(search);

var match=str.match(/no/g); //设置全局g,找到之后返回多个匹配的字符的数组,找不到返回null.不设置全局,只找0开始的第一个
console.log(match);

var replace=str.replace(/NO/g,"aa"); // 用"aa"替换字符串中匹配正则/no/的字符,返回替换后的字符串.没有则返回原字符串
console.log(replace);

原文地址:https://www.cnblogs.com/rookiehao/p/8351826.html