【JavaScript】JS數組學習

摘自《JS高級程序設計》(第三版)第五章

創建數組

  • 方法一
var colors = new array(10);
var colors = Array(10);//new 可省略
var colors = Array("red","blue");
  • 方法二
var colors = [];
var colors = ["red","blue"];

使用數組

alert(colors[0]);
colors[5] = "black";//數組長度被擴充到了6個,其他項爲undefined
colors.length = 1;//length屬性值可變,數組只剩下“red”一個元素
colors[colors.length] = "green";//在末尾添加新項 等於push
colors.toString();//返回數組元素拼接的字符串
colors.toLocaleString();//調用了數組中每一項的toLocaleString()方法
colors.valueOf();//返回原數組

數組排序

//sort按升序排列數組,可以接收一個方法作爲參數,便於指定哪個值在哪個值前面
function compare_str(value1,value2){
	if(...){
		return -1;
	}else if(...){
		return 1;
	}else return 0;
}
function compare_num(value1,value2){
	return value2 - value1;
}
colors.sort(compare_str);

檢測數組

if (Array.isArray(colors)){}
if (colors instanceof Array){}//不適用多個全局環境(?)

棧方法與隊列方法

方法 作用 返回值
push() 添加元素到數組末尾 修改後的數組長度
unshift() 添加元素到數組開頭 修改後的數組長度
pop() 從數組末尾移除最後一項 移除的項
shift() 從數組開頭移除第一個項 移除的項

操作方法

方法 作用
concat() 基於數組當前項與其他項合併成一個新數組
slice() 基於當前數組某些項創建新數組
splice() 向數組中部插入項
indexOf()、lastIndexOf() 返回元素位置

迭代方法

以下迭代方法作用都是對數組中的每一項運行給定函數,但不會修改數組值。根據給定函數的返回值,確定方法的返回值。

方法 返回值
every() 如果每一項都返回true,則返回true
some() 如果任一項都返回true,則返回true
filter() 有哪些項返回true,就返回由這些項組成的數組
forEach() 無返回值
map() 每一項都會返回一個結果,返回這些結果組成的數組

歸併方法

function函數任何返回值都會作爲第一個參數傳給下一項

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
	return prev + cur;
})//sum = 1+2+3+4+5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章