数组API汇总
數(shù)組API匯總
Javascript數(shù)組API:
1、將數(shù)組轉(zhuǎn)化為字符串:2種:
1、var str=String(str); ??
將數(shù)組轉(zhuǎn)化為字符串并分隔每個(gè)元素;
var arr=[1,2,3]; String(arr) "1,2,3" arr//[1, 2, 3]?注:不改變?cè)瓟?shù)組
2,、var str=arr.join("自定義分隔符");?
? ? ?將數(shù)組轉(zhuǎn)化為字符串,可定義分隔符
? ? ?強(qiáng)調(diào):如果join省略"",就等效于String
注:不改變?cè)瓟?shù)組
var arr=[1,2,3]; arr.join('')//"123"var arr=[1,2,3]; arr.join(' ')//"1 2 3"var arr=[1,2,3]; arr.join(',')//"1,2,3" arr//[1, 2, 3]2、鏈接和獲取子數(shù)組:
1、連接:? ?var newArr=arr1.concat(值1,值2,arr2,...);
? ? 將concat后的內(nèi)容,和arr1拼接,組成新數(shù)組返回
? ? 強(qiáng)調(diào):concat的參數(shù)中包含數(shù)組,則打散數(shù)組,以單個(gè)元素拼接
2、獲取子數(shù)組:var subArr=arr.slice(starti,endi+1);
? ? ?獲得arr中starti位置開始,到endi位置的所有元素組成的新數(shù)組
? ? ?強(qiáng)調(diào):含頭不含尾
? ? ?省略第二個(gè)參數(shù):表示從starti一直取到結(jié)尾
? ? ?可支持負(fù)數(shù)參數(shù):-n表示倒數(shù)第n個(gè)元素,相當(dāng)于length-n
注:不改變?cè)瓟?shù)組
3、刪除,插入,替換:(直接修改原數(shù)組)
?1、刪除:var deletes=arr.splice(starti,n);
? ? ?刪除arr中starti位置開始的n個(gè)元素
? ? ?返回被刪除的元素組成的臨時(shí)新數(shù)組
注:1.支持負(fù)數(shù)
2.直接修改原數(shù)組
2、插入:arr.splice(starti,0,值1,值2,...);
? ? ?在arr中starti位置,插入新值。舊值被向后順移
? ???強(qiáng)調(diào):
1.要插入的值,只能以單獨(dú)的參數(shù)傳入,不支持打散數(shù)組參數(shù)?
2.starti表示第i個(gè) 不是數(shù)組索引
var arr=[1,2,3,4] arr.splice(2,0,22,33) arr//[1, 2, 22, 33, 3, 4]
3、替換:var deletes=arr.splice(starti,n,值1,值2,...);
? ? ?刪除arr中starti位置開始的n個(gè)元素,再在starti位置插入新元素
? ? ?刪除的元素個(gè)數(shù)和插入的新元素個(gè)數(shù)不必相等
?
var arr=[1,2,3,4] arr.splice(2,2,5,6) arr//[1, 2, 5, 6]4、反轉(zhuǎn)數(shù)組元素:arr.reverse();
arr=[1,2,3,4] arr.reverse()//[4, 3, 2, 1] arr//[4, 3, 2, 1]注:直接修改原數(shù)組
5、升序排列:arr.sort();? ?(直接修改原數(shù)組)
arr=[1,5,3,2] //默認(rèn)升序排列 arr.sort()//[1, 2, 3, 5]arr=[1,5,32,2] arr.sort((a,b)=> a-b)//[1, 2, 32, 5] arr//升序,從小到大排列 [1,2,5,32]arr=[1,5,32,2] arr.sort((a,b) => b-a)//[1, 2, 32, 5] arr//降序,從大到小排列[32,5,2,1]
注:1.將arr中的元素,以字符串方式升序,如上
2.sort()支持自定義排序方法sort(function(a,b){return a-b? // 升序 })
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sort(function(a,b){return b-a? / /降序 })
6、結(jié)尾出入棧:
1、入棧:arr.push(值)
? ? ?將值壓入數(shù)組結(jié)尾
2、出棧:var last=arr.pop();
? ? 彈出數(shù)組最后一個(gè)元素
//返回彈出的元素
arr//[1,2,3]
注:直接修改原數(shù)組
7、開頭出入棧:
1、入棧:arr.unshift(值);
? ? 將值插入數(shù)組開頭
2、出棧:var first=arr.shift();
? ? 取出數(shù)組第一個(gè)元素
var arr=[1,2,3,4] arr.shift()//1 arr//[2, 3, 4]
注:直接修改原數(shù)組
總結(jié):
直接修改原數(shù)組:
1.arr.splice();
2.arr.reverse();
3.arr.sort();?
4.arr.push(值);arr.pop();
5.arr.unshift(值);arr.shift();
不修改原數(shù)組:
1.String(arr);
2.arr.join("自定義分隔符");?
3.arr1.concat(值1,值2,arr2,...);
4.arr.slice(starti,endi+1);?
轉(zhuǎn)載于:https://www.cnblogs.com/dingxingxing/p/10941788.html
總結(jié)
- 上一篇: C#中的delegate的 Invoke
- 下一篇: 正则表达式:(?=a)是什么意思?