數組的對象方法

長度屬性:

  • arr.length:返回數組長度

添加元素:

  • arr.push(): push可以接受任意數量的參數,將參數放在原數組的尾部,該方法返回的是最終數組的長度 【會更改原數組】
  • arr.unshift(): 向數組的開頭添加一個或更多元素,並返回新的長度 【會更改原數組】
  • arr.splice(): 實現數組的增刪改功能 【返回的是被刪除項目的新數組,如果有的話】【會更改原數組】
    參數分別是:添加/刪除的位置(必需,是下標)、刪除多少元素(必需,0就是不刪除)、元素(非必需,添加到數組的元素)
    返回值:如果是刪除,就返回刪除元素;否則返回[]。原數組已經被改變!
	var num = [1,2,3,4,5];
	var newNum = num.splice(1,0,"Tom","Jerry");
	console.log(num); //[1, "Tom", "Jerry", 2, 3, 4, 5]
	console.log(newNum); //[]
	var deleteNum = num.splice(1, 2)
	console.log(num)	// [1,2,3,4,5]
	console.log(deleteNum)	   // ['Tom', 'Jerry']

刪除數組元素:

  • arr.pop(): 刪除數組的最後一項,返回的是被刪除的元素 【會更改原數組】
  • arr.shift(): 刪除數組的第一項,返回被刪除的元素 【會更改原數組】
  • arr.splice(): 這個方法可以實現數組的增刪改功能
    刪除:只需要提供兩個參數,要刪除的第一項的位置和要刪除的個數,並返回刪除的元素數組: 【會更改原數組】
	var num = [1,2,3,4,5];
	var newNum = num.splice(1,2);
	console.log(num); //[1,4,5]
	console.log(newNum); //[2,3]

排序:

  • arr.reverse():倒序數組 返回值倒序數組 【會更改原數組】
  • arr.sort():根據匿名函數進行冒泡排序 b-a倒序 a-b升序 【會更改原數組】
    但需要注意的是這個方法是按Ascii碼排序,例如:
	var arr = [1,3,7,5,14,24];
	arr.sort();
	console.log(arr);  ==>[1,14,24,3,5,7]

拼接:

  • arr.concat():把一個數組和另一個數組拼接在一起 返回拼接好的數組
  • arr.join():把數組中的每一項 按照指定的分隔符拼接成字符串

截取數組部分元素:

arr.slice(): 基於當前數組,創建一個或多個項,他可以接受一個或兩個參數,當參數有一個,他返回的是從參數位置到數組最後的新數組,當參數是兩個,他返回的是從開始到結束的位置,但不包括最後的位置

	var nameArr = ["Tom","Jerry","Alice","Nancy","Candy"];
	var newName = nameArr.slice(1);
	console.log(newName);   //["Jerry", "Alice", "Nancy", "Candy"];
	var newName2 = nameArr.slice(1,4);
	console.log(newName2); //["Jerry", "Alice", "Nancy"]
	
	var  newName = nameArr .slice(0)  // 淺拷貝,再對newName 數組修改時,不會影響nameArr 數組

查找元素:

  • arr.indexOf():查詢元素的位置,參數爲1個或2個,第一個是要查找的元素,第二是要開始查找的位置(可選的),他返回的是查找到的第一個元素的下標,找不到返回-1,indexOf()是從頭開始查詢,lastIndexOf()是從末尾開始查詢
  • arr.lastIndexOf():同上
  • arr.findIndex():返回數組中滿足提供的測試函數的第一個元素的索引
	function isBigEnough(element){
		return element>=15;
	}
	[12,5,8,130,44].findIndex(isBigEnough)	//3
  • arr.includes():用來判斷一個數組是否包含一個指定的值,返回 true或 false。
    參數:要查找的元素(必需)、從該索引處開始查找(非必需)
	let a = [1,2,3]
	a.includes(2)		//true
	a.includes(4)		//false
  • arr.filter():創建一個新數組,包含滿足提供函數條件的所有元素 【會更改原數組】
	var arr = [1,10,20,30]
	var brr = arr.filter((item)=>{
		return item>10;
	})
	console.log(brr);		[20,30]
  • arr.find():返回數組中滿足函數內判斷條件的第一個元素,之後的元素不會再執行函數。
	var arr = [1,10,20,30]
	var brr = arr.find(item => item > 10)

遍歷數組:

  • arr.forEach():調用數組的每個元素,並將元素傳遞給回調函數
  • arr.map():依次調用數組的每個元素,返回函數處理後的值。 【會改變原數組】
	let r = res.map(item => {
	    return {
	        title: item.name,
	        sex: item.sex === 1? '男':item.sex === 0?'女':'保密',
	        age: item.age,
	        avatar: item.img
	    }
	})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章