長度屬性:
- 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
}
})