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