长度属性:
- 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
}
})