1、String字符串
字符串是一个对象,不属于js的类型,可用for循环。值不可变,操作时字符串的值看起来改变实际是指向变了,指向一个新的地址,原先的值并未改变。
(1)lenght:获取字符串长度
let str="abcdefg";
console.log(str.length)//str的长度为7
(2)chartAt(index):返回index位置的字符,长度超出为空字符串
let str="abcdefg";//0 < index < 6
console.log(str.charAt(2))//c
console.log(str.charAt(8))//空字符串
(3)String.fromChartCode(numX,numX,...):返回ASCII码对应的值
console.log(String.fromCharCode(70))//F
(4)arrayObject.concat(arrayX,arrayX,......,arrayX):连接两个或多个字符串
let str="abc";
let str2="ABC";
console.log(str.concat(str2,"def"))//abcABCdef
(5)indexOf(value,start):value为查找值,start为开始查找的位置,找到返回第一个value所在的索引位置,没找到则返回-1
let str="abcdef";
console.log(str.indexOf("c"))//2
console.log(str.indexOf("c",3))//-1
(6)lastIndexOf(value,start):value为查找值,start为开始查找的位置,从末尾往前找,找到返回最后一个value所在的索引位置,没找到则返回-1
let str="abcdecf";
console.log(str.indexOf("c"))//5,并非是2
(7)replace(oldStr,newStr):将oldStr更换为newStr,没找到oldStr则返回原字符串
let str="abcdecf";
console.log(str.replace("c","换"))//ab换decf,只更换查找到的第一个c
console.log(str.replace("无","换"))//abcdecf
(8)slice(startIndex,endIndex):截取字符串,不包括endIndex位置的字符,没截取到则返回空字符
let str="abcdecf";//0 < index <7
console.log(str.slice(0,2))//ab
console.log(str.slice(7,9))//空字符串
(9)split(str,num):str为要切割的字符,num为切割后保留的个数
let str="abcdecf";
console.log(str.split("bc"))//["a", "decf"]
console.log(str.split("bc",1))//["a"]
(10)substr(index,num):index为截取开始位置,num为截取个数
let str="abcdecf";
console.log(str.substr(0,3))//abc
(11)substring(startIndex,endIndex):截取startIndex到endIndex位置的字符,不包括endIndex
let str="abcdecf";
console.log(str.substring(0,3))//abc
(12)toLocaleLowerCase():大写转小写,针对地区
let str="ABC";
console.log(str.toLocaleLowerCase())//abc
(13)toLowerCase():大写转小写,不针对地区
let str="ABC";
console.log(str.toLowerCase())//abc
(14)toLocaleUpperCase():小写转大写,针对地区
let str="abc";
console.log(str.toUpperCase())//ABC
(15)toUpperCase():小写转大写,不针对地区
let str="abc";
console.log(str.toUpperCase())//ABC
(16)trim():去除字符串两边的空格
let str=" abc DD ";
console.log(str,"原数据")
console.log(str.trim(),"去除空格")
(17)String(num):数字转换成字符串
String(1234)//1234字符串类型
2、Array数组
(1)Array.concat(arrayX,arrayX,......,arrayX):连接两个或多个数组
let arr=[1,2,3];
let arr1=["a","b","c"];
let result=arr.concat(arr1);
console.log(result);//[1, 2, 3, "a", "b", "c"]
(2)every(function):检测数组的每一个元素是否都符合function的条件,是返回true,否返回false
let arr = [2, 2, 3];
let result = arr.every(item => item > 2);
let result2 = arr.every(item => item > 1);
console.log(result);//false
console.log(result2);//true
(3)filter(function):过滤掉不符合function条件的元素,返回符合的元素数组
let arr = [2, 2, 3];
let result = arr.filter(item => item !== 2);
console.log(result);//[3]
(4)push(element,...elementX):将一个或多个element追加到目标数组中,并返回目标数组追加元素后的长度
let arr = [2, 2, 3];
let arr1 = ["a", 4, 5];
let result = arr.push(arr1);
console.log(result);//4(arr push后的长度)
console.log(arr);//[2, 2, 3,["a", 4, 5]]
(5)pop():删除数组最后一个元素,并返回被删除的元素。
let arr = [1, 2, 3];
let result = arr.pop();
console.log(result);//3
console.log(arr);//[1, 2]
(6)shift():删除数组第一个元素,并返回被删除的元素。
let arr = [1, 2, 3];
let result = arr.shift();
console.log(result);//1
console.log(arr);//[2, 3]
(7)unshift(element,...elementX):向数组第一个元素之前插入一个或多个元素,并返回插入后数组的长度。
let arr = [1, 2, 3];
let result = arr.unshift("a","b");
console.log(result);//5
console.log(arr);//["a", "b", 1, 2, 3]
(8)forEach(function):遍历数组,类似for循环,使用循环次数未知,计算复杂的情况效率比for高。
注:与for循环的差别为遍历对象时,forEach会将目标数组锁定,遍历结束后不会改变目标数组的值,而fo循环会改变目标数组的值。
let arr = [1, 2, 3];
var sum = 0
arr.forEach(item => sum += item);
console.log(sum);//6
console.log(arr);//[1, 2, 3]
(9)indexOf(element,start):在数组中查找element元素所在的索引,找到则返回索引,没找到则返回-1。
let arr = [1, 2, 3];
let result = arr.indexOf(2);
let result2 = arr.indexOf(10);
console.log(result);//1
console.log(result2);//-1,
(10)join(separator):向数组中的所有元素放入一个字符串,默认为逗号,不改变原数组。
let arr = [1, 2, 3];
let result = arr.join("aa");
let result2 = arr.join();
console.log(result);// 1aa2aa3
console.log(result2);// 1,2,3
console.log(arr);// [1, 2, 3]
(11)reverse():反转目标数组,会改变目标数组的值。
let arr = [1, 2, 3];
let result = arr.reverse();
console.log(result);// [3, 2, 1]
console.log(arr);// [3, 2, 1]
(12)sort(function):排序,默认从小到大排序,会改变原数组。
let arr = [1, 6, 3, 9, 3];
let result = arr.sort();//小到大排序
let result2 = arr.sort((a,b)=>b-a);//大到小排序
console.log(result);// [1, 3, 3, 6, 9]
console.log(result2);// [9, 6, 3, 3, 1]
(13)slice(startIndex,endIndex):截取startIndex - endIndex之间的元素,返回被截取的元素,不改变原数组。
let arr = [1, 6, 3, 9, 3];
let result = arr.slice(1,2);
console.log(result);// [6]
console.log(arr);// [1, 6, 3, 9, 3]
(14)splice(startIndex,number,element):startIndex为开始切割索引,number为切割个数 ,element为替换的元素,返回切割掉的内容 。
let arr = [1, 6, 3, 9, 3];
let result = arr.splice(1, 2, "a");
console.log(result);// [6, 3]
console.log(arr);// [1, "a", 9, 3]