程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> php + js中關於array的slice和sort方法

php + js中關於array的slice和sort方法

編輯:PHP基礎知識
 

<!--測試中的
sort-對js數組中的元素排序
slice-返回一個數組的一段,等同於php中的substr
-->

<script>
function test_js()
{
var arr, arr2;
var array = new Array('a','x','b','c','d','y','f','g');
arr = array.sort();
alert(arr);

arr2 = arr.slice(1,4);
alert(arr2);

return arr;
}

test_js();
</script>


1. 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);

按大小排序:

var testArray=[3,324,5345,6546,134,5654,665];

testArray.sort(function(a,b){return a-b;});

alert(testArray);

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


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

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"))

 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved