Array數組常用方法
1、slice()方法
- 在JavaScript中,我們可以使用Array對象的slice()方法來獲取數組中的某段數組元素。slice,就是“切片”的意思
語法:
數組對象.slice(start,end)
- 說明:參數start和end都是整數。其中,參數start是必選項,表示開始元素的位置,是從0開始計算的。參數end是可選項,表示結束元素的位置,也是從0開始計算的
- 使用slice方法獲取數組中的某段數組元素,其實是獲取
舉例:
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr=new Array("html","css","javascript","jQuery","Ajax");
document.write(arr.slice(1,3));
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
2、unshift()方法
- 在JavaScript中,我們可以使用Array對象的unshift()方法在數組開頭添加元素,并返回該數組
語法:
數組對象.unshift(新元素1,新元素2,…,新元素n);
- 說明:“新元素1,新元素2,…,新元素n”是可選項,表示在數組開頭添加的新元素
舉例:
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr = new Array("html", "css", "javascript");
document.write("原數組元素:" + arr);
document.write("<br/>");
arr.unshift("jQuery", "Ajax");
document.write("添加新元素后的數組元素:" +arr);
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
3、push()方法
- 在JavaScript中,我們可以使用Array對象的push()方法向數組的末尾追加一個或多個元素,并且返回新的長度。記住,push()方法是在數組的末尾添加元素,而不是在中間插入元素
語法:
數組對象.push(新元素1,新元素2,…,新元素n);
- 說明:“新元素1,新元素2,…,新元素n”是可選項,表示要添加到數組末尾的元素。push()方法可以把新的元素按照順序添加到數組對象中去,它直接修改數組對象,而不是創建一個新的數組。push()方法和pop()方法使用數組提供的先進后出的功能
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr = new Array("html", "css", "javascript");
document.write("原有數組元素:" + arr);
document.write("<br/>");
arr.push("jQuery", "Ajax");
document.write("現有數組元素:"+arr);
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
4、shift()方法
- 在JavaScript中,我們可以使用Array對象的shift()方法來刪除數組中第一個元素,并且返回第一個元素的值
語法:
數組對象.shift();
- 說明:shift()方法跟pop()方法類似。其中unshift()方法用于在數組開頭添加元素,shift()方法用于刪除數組開頭第一個元素
- 注意,shift()方法不創建新的數組,而是直接修改原來的數組對象。如果數組為空,那么shift()方法將不會進行任何操作,并且返回undefined值
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr = new Array("html", "css", "javascript", "jQuery", "Ajax");
document.write("原數組元素為:" + arr);
document.write("<br/>");
document.write("刪除的第一個數組元素為:" + arr.shift());
document.write("<br/>");
document.write("刪除后的數組元素為:"+arr);
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
5、pop()方法
- 在JavaScript中,我們可以使用Array對象的pop()方法刪除并返回數組中的最后一個元素
語法:
數組對象.pop();
- 說明:pop()方法將刪除數組對象的最后一個元素,并且把數組長度減1,返回它刪除的該元素的值。如果數組已經為空,則pop()方法不改變數組,并返回undefined值
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr=new Array("中國","廣東","廣州","天河","暨大");
document.write("數組中原有元素:"+arr);
document.write("<br/>");
document.write("刪除的數組最后一個元素是:"+arr.pop());
document.write("<br/>");
document.write("數組中現有元素:"+arr);
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
6、toString()方法
- 在JavaScript中,我們可以使用Array對象的toString()方法將數組轉換為字符串,并返回結果
語法:
數組對象.toString()
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr=new Array("html","css","javascript","jQuery","Ajax");
document.write(arr.toString());
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
- 從預覽效果我們可以看出,使用toString()方法將數組轉換為字符串時,數組中的元素之間是用英文逗號分隔的
7、join()方法
- 在JavaScript中,我們可以使用Array對象的join()方法把數組中的所有元素連接成為一個字符串
語法:
數組對象.join("分隔符")
- 說明:其中分隔符是可選項,用于指定要使用的分隔符。如果省略該參數,則JavaScript默認采用英文逗號作為分隔符
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr=new Array("html","css","javascript");
//沒有使用分隔符的join()方法
document.write(arr.join()+"<br/>");
//使用分隔符的join()方法
document.write(arr.join("*"));
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
8、concat()方法
- 在JavaScript中,我們可以使用Array對象的concat()方法連接兩個或多個數組。該方法不會改變現有的數值,而僅僅會返回被連接數組的一個副本
- concat,就是“合并”的意思
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr1 = new Array("html","css","javascript");
var arr2 = new Array("北京","廣州","上海");
var arr3 = new Array("中國","美國","俄羅斯");
document.write(arr1.concat(arr2,arr3));
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
9、sort()方法
- 在JavaScript中,我們可以使用Array對象的sort()方法對數組元素進行大小比較排序
語法:
數組對象.sort(函數名)
- 說明:其中“函數名”用來確定元素順序的函數的名稱,如果這個參數被省略,那么元素將按照ASCII字符順序進行升序排序
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//升序比較函數
function asc(a,b)
{
return a-b;
}
//降序比較函數
function des(a,b)
{
return b-a;
}
//創建數組的同時對元素賦值
var arr=new Array(3,9,1,12,50,21);
document.write("排序前的數組元素"+arr.join(","));
document.write("<br/>");
arr.sort(asc);
document.write("升序后的數組元素"+arr.join(","));
document.write("<br/>");
arr.sort(des);
document.write("降序后的數組元素"+arr.join(","));
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果
- 分析:很多人JavaScript初學者對上面的排序很疑惑,大家可以看看這篇文章“深入探討JS中的數組排序函數sort()”。如果新人還是不懂其原理的話,以后用的時候回來參考一下就知道了。在JavaScript進階教程會有詳細介紹原理。其實sort()方法涉及到了JavaScript高階函數,這個東西算是很高級的一個東西了
10、reverse()方法
- 在JavaScript中,我們可以使用Array對象的reverse()方法將數組中的元素反向排列。注意,reverse()是一種“排列”方法,而不是“排序”方法
- reverse,就是“反向”的意思
語法:
數組對象.reverse();
- 說明:reverse()方法會改變原來的數組,而不是創建新的數組
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script type="text/javascript">
//創建數組的同時對元素賦值
var arr = new Array(3,1,2,5,4);
document.write("原數組元素:" + arr);
document.write("<br/>");
document.write("反向排列后的數組元素:" + arr.reverse());
</script>
</head>
<body>
</body>
</html>
在瀏覽器預覽效果