js数组,字符串api汇总
一、数组
1.栈方法 let a=[1,2,3,4,5] (后进先出)
push 推入元素到数组的末尾,改变原数组,返回数组的长度 alert(a.push(6)) / 6
pop 删除数组最后一项,改变原数组,返回删除的项 alert(a.pop()) / 5
2.队列方法 let a=[1,2,3,4,5] (先进先出)
shift 删除数组的第一项,改变原数组,返回删除的项 alert(a.shift()) /1
unshift 添加指定元素到数组的前端,改变原数组,返回数组长度 alert(a.unshift(1)) /6
3.重排序方法 let a=[1,2,3,4,5]
reverse 反转数组项的顺序,改变原数组,返回改变之后的数组 alert(a.reverse()) /[5,4,3,2,1]
sort 按升序排列数组项,转成字符串再进行比较,改变原数组,返回改变之后的数组 alert([1,5,10,20].sort()) /[1,10,20,5]
ps:如果想实现排序可以用compare函数
function compare(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
let a=[1,5,10,20]
alert(a.sort(compare)) / [1,5,10,20]
4.操作方法 let a=[1,2,3,4,5]
concat 创建当前数组的一个副本,然后将接收到的参数添加至这个副本的末尾,不改变原数组,返回新构建的数组
alert(a.concat(1,2,[3])) / [1,2,3,4,5,1,2,3]
slice 基于当前数组中的一项或多项创建一个新数组,不改变原数组,返回新构建的数组
alert(a.slice(1)) / [2,3,4,5] alert(a.slice(1,4)) [2,3,4] alert(a.slice(-2,-1)) / 4
splice 改变原数组,返回删除的项
传两个参的时候是删除任意数量的项 alert(a.splice(0,1)) / [1] alert(a) /[2,3,4,5]
传三个参的时候,第一个是从哪个索引值开始删除,第二个参是删除的个数,第三参是从该索引处添加的参数
alert(a.splice(1,0,7)) / [] alert(a) / [1,7,2,3,4,5]
alert(a.splice(1,1,7)) / [2] alert(a) / [1,7,3,4,5]
5.位置方法 let a=[1,2,3,4,5,1,2,3,4]
indexOf alert(a.indexOf(4)) / 3 alert(a.indexOf(4,4)) / 8
lastIndexOf alert(a.lastIndexOf(4)) / 8 alert(a.lastIndexOf(4,4)) /3
6.迭代方法 (every,filter,map,forEach,some)
7.归并方法 let a=[1,2,3,4,5]
reduce reduceRight
let value=a.reduce(function(prev,cur,index,array){return prev+cur}) alert(value) / 15
reduceRight方法一样,只是执行的方法是从右到左
二、字符串 slice/substring/substr/trim/toLocaleLowerCase/toLocaleUpperCase/
let a="hello world"
alert(a.slice(3)) / "lo world"
alert(a.substring(3)) / "lo world"
alert(a.substr(3)) / "lo world"
alert(a.slice(3,7)) / "lo w"
alert(a.substring(3,7)) / "lo w"
alert(a.substr(3,7)) / "lo worl"
alert(a.slice(-3)) / "rld"
alert(a.substring(-3)) / "hello world"
alert(a.substr(-3)) / "rld"
alert(a.indexOf("o")) / 4
alert(a.lastIndexOf("o")) / 7
alert(a.indexOf("o",6)) / 从索引值6开始往后查找o / 7
alert(a.lastIndexOf("o",6)) / 从索引值6开始往前查找o /4
let a=" hello world "
alert(a.trim()) / "hello world"
let a="hello world"
alert(a.toLocaleLowerCase()) /"hello world"
alert(a.toLocaleUpperCase()) / "HELLO WORLD"
字符串模式匹配方法replace(),可以接两个参数,第一个参可以是字符串和正则表达式,第二个参可以是字符串和函数
let text="cat,bat,sat,fat"
alert(text.replace('at','ond')) / "cond,bat,sat,fat"
alert(text.replace(/at/g,'ond')) / 'cond,bond,sond,fond'