日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

js中关于array的slice和sort方法(转自JavaEye)

發布時間:2023/12/20 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中关于array的slice和sort方法(转自JavaEye) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、array.slice(start, end) 方法:

?????slice()是用來截取數組中的一部分,用它來復制數組,如果省略了end參數,則切分的數組包含從start開始到數組結束的所有元素。

現在要用它來復制數組,就一行:

var?newArray=oldArray.slice(0);?


?

其他說明:

1. 如果 start 為負,將它作為 length + start處理,此處 length 為數組的長度,比如a.slice(-3,4),相當于a.slice(2,4)。

2. 如果 end 為負,就將它作為 length + end 處理,此處 length 為數組的長度,比如a.slice(0,-1)。

3. 如果省略 end ,那么 slice 方法將一直復制到源數組結尾,比如a.slice(1)。如果 end 出現在 start 之前,不復制任何元素到新數組中,比如a.slice(4,3)。

4.對于字符串,也有slice(start,end)方法。

二、array.sort() 方法:

默認的sort()按字符編碼排序的:

code1:

var?testArray=[3,324,5345,6546,134,5654,665];
????????testArray.sort();
????????alert(testArray);

輸出結果是:134? 3? 324? 5345? 5654? 6546? 665


按大小排序:

var?testArray=[3,324,5345,6546,134,5654,665];
????????testArray.sort(function(a,b){return?a-b;});
????????alert(testArray);

這里傳遞一個比較函數給sort,比較函數的邏輯是:如果兩參數的差值小于0,則表示a必須出現在b前面,否則在b后面。輸出結果是:

輸出結果是:3? 134? 324? 665 ?5345? 5654? 6546,


補充:對多維數組的排序:

var?arr=[
?????????????[2,1,55,4],
?????????????[5,3,22,3],
?????????????[1,2,77,2],
?????????????[9,4,33,5],
??????????];?????????????????
alert("默認按第一列排\n"+arr.sort().join("\n"))??
alert("現在按第三列排\n"+arr.sort(function(left,right){return?left[2]>right[2]?1:-1}).join("\n"))??
alert("現在按第三列倒排\n"+arr.sort(function(left,right){return?left[2]>right[2]?-1:1}).join("\n"))

//說明:alert(arr.sort(function(left,right){return?left>right?-1:1}))??
//這里,sort方法通過參數函數的返回值?1或者-1來決定是順排還是倒排

轉載于:https://blog.51cto.com/tscfengkui/684209

總結

以上是生活随笔為你收集整理的js中关于array的slice和sort方法(转自JavaEye)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。