首先我们要知道数组是什么?
数组其实就是由多个元素组成的有序的集合。
length :数组的长度
数组中的七个内置数组: (可以改变数组自己本身)
push -- 尾部添加 返回新数组的长度
pop -- 尾部删除 返回的是被删除的元素
shift -- 头部删除
unshift
sort -- 排序 返回排序后的数组
reverse -- 数组反转
splice -- 增加 删除 修改;本质上是删除数组(从哪里开始的下标,删除的长度,要替换的值)
1.push
该方法可以在数组的最后面,添加一个或者多个元素结构
: arr.push(值)
返回值:返回的是添加元素后数组的长度.
2.pop
该方法可以在数组的最后面,删除一个元素结构
: arr.pop(值)
返回值:返回的是刚才删除的元素
3.shift
该方法可以在数组的最前面,删除一个元素结构
: arr.shift(值)
返回值: 返回的是刚才删除的元素.
4.unshift
该方法可以在数组的最前面,添加一个或者几个元素结构
: arr.unshift(值)
返回值: 返回的是添加元素后数组的长度
5.sort
该方法可以对数组进行排序
let arr = [1,3,5,2,4,23,122,34];
//没有参数:时按照首字符的先后排序
arr.sort()//arr=[1,122,2,23,3,34,4,5];
//有参数
arr.sort(function(a,b){
return a-b;//从小到大排序
return b-a;//从大到小排序
})
数组的拼接与截取(原数组不受影响)
6.reverse
该方法可以对数组进行翻转
结构:
arr.reserse()
7.splice
splice 是数组的一个方法,使用这个方法会改变原来的数组结构,splice(index ,howmany , itemX);这个方法接受三个参数,我们在使用的时候可根据自己的情况传递一个参数,或两个参数,或者三个参数;
总结splice()这个方法就是可以删除数组中的项,也可以向数组中添加新的项
传递一个参数时 :
传递一个参数的时候表示从这个参数的位置开始一直截取到最后
var arr = [2,4,6,7,8,9];
console.log(arr);//[2,4,6,7,8,9]
var n = arr.splice(2);//参数为2表示从索引下标为2的位置开始一直截取到数组的最后;
console.log(n);//[6,7,8,9]//splice()返回的是截取到的数组
console.log(arr);//[2,4]//原来的数组结构发生改变,为splice截取之后剩下的数组
传递两个参数时 :
传递两个参数,第一个参数表示开始的位置,第二个参数表示要截取的个数;
如果第二个参数为0,则表示不截取,返回的空数组,原来的数组不变
var arr = [2,4,6,7,8,9];
console.log(arr);//[2,4,6,7,8,9]
var n = arr.splice(2,3);//表示从下标位置为2开始截取3个数
console.log(n);//[6, 7, 8]
console.log(arr);//[2,4,9]
传递三个参数时 :
var arr = [2,4,6,7,8,9];
console.log(arr);//[2,4,6,7,8,9]
var n = arr.splice(2,0,5);//表示在下标为2的位置,截取0个数组,
在下标为2的位置添加一个新项
console.log(n);//[]
console.log(arr);//[2, 4, 5, 6, 7, 8, 9]
当第二个参数不为0的时候
var arr = [2,4,6,7,8,9];
console.log(arr);//[2,4,6,7,8,9]
var n = arr.splice(2,3,5);//表示从下标为2的位置开始,删除3个项,
在下标为2的位置添加一个数字为5的新项
console.log(n);//[6, 7, 8]
console.log(arr);//[2, 4, 5, 9]
8. indexOf
该方法用来查找元素在数组中第一次出现的位置
结构:
arr.indexOf(元素)
特殊用法:
arr.indexOf (ele,fromIndex),从fromIndex这个下标开始,元素第一次出现的位置
if (arr.indexOf(ele) === -1){//说明元素不存在!!
console.log('元素不存在!)
} else {
console.log(' 元素存在! ')
}
9.lastindexOf
该方法用来查找元素最后一次在数组中出现的位置
10.forEach
该方法用来对数组进行循环遍历
11.filter
该方法用来对数组进行过滤
filter方法: 有返回值, 过滤出符合条件的元素
let arr = [1, 3, 5, 2, 4, 6];
let res3 = arr.filter(function(item, index) {
return item % 2 === 0;
});
console.log(res3);
12.map
对数组的每一项进行操作,返回新数组
13.some
用来判断数组中是否有满足条件的元素
如果有返回true 没有的话返回 false
14.every
判断数组中是否元素是否全部满足条件
如果是返回true,否则返回 false
let res6 = arr3.every(function(item) {
return item.done;
});
console.log(res6);
15. find
找到符合条件的项,并且返回第一项
let arr4 = [
{ id: 3, name: "ls", done: false },
{ id: 1, name: "zs", done: true },
{ id: 2, name: "ww", done: true }
];
// var res7 = arr4.find(function(item) {
// return item.done;
// });
// console.log(res7);
16. join (原数组不受影响)
该方法可以将数组里的元素,通过指定的分隔符,以字符串的形式连接起来。
返回值:返回一个新的字符串
//将数组用 - 符号连接起来
let arr = [1,2,3,4,5];
let str = arr.join('-');
console.log(str)//str = 1-2-3-4-5;
17. concat
该方法可以把两个数组里的元素拼接成一个新的数组
返回值: 返回拼接后的新数组
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr = arr1.concat(arr2);//arr = [1,2,3,4,5,6];
arr1.push(arr2);//arr1 = [1,2,3,[4,5,6]];
该方法和push的区别: push是直接把后一个元素原封不动的添加到第一个数组的后面