一、什么是数组?
数组是一组有序的集合
二、创建数组的方法?
创建数组的方法一般有三种。
1.构造函数的方法:
let arr=new Array();
arr[0]='xiao';
arr[1]='bai';
.
.
.
2. 简洁的创建:
let arr = new Array('xiao','bai'....)
3.字面量创建:
let arr = ['xiao','bai',....]
我们一般都是使用第三种方式。
三、数组的访问:
数组的成员是可读可写(既可以读取也可以修改),通过数组的下标索引进行访问。
数组还有length等其他属性
let arr = ['xiao','bai'];
arr[0]; // 'xiao'
arr[1]='gai'; //arr=['gai','bai']
//length属性表示数组的长度
arr.length // 2
四、数组的常用方法:
1.concat()方法,用来合并多个数组:
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arrConcat = arr1.concat(arr2);
console.log(arrConcat); // [1,2,3,4,5,6]
2.every()方法,用于检查数组中的成员是否都符合指定条件,返回的是一个boolean值:
let arr = [12, 3, 116, 40];
function checkArr(i) {
return i >= 18;
}
arr.every(checkArr); // false
3.fill()方法,用来将一个固定的值替换掉数组的成员,他接受三个参数,第一参数表示替换的值、第二个参数表示起始替换位置、第三个参数表示结束位置:
let arr = [1,2,3,4,5];
arr.fill(1); // [1,1,1,1,1]
arr.fill(1,2); // [1,2,1,1,1] 参数三不写,默认替换到最后
arr.fill(1,2,4);// [1,2,1,1,5] 不包括结束位置
4.filter()方法,用来过滤数组符合条件的成员:
let arr = [20,30,28,25,50];
arr.filter((item)=>{
return item>=30
}) //[30,50]
5.find()方法,用来找到第一个符合指定条件的成员,如果没有找到则返回undefined:
let arr = [20,30,28,25,50];
arr.find((item)=>{
return item>=30
}) //[30]
6.findIndex()方法,用来找到第一个指定条件的索引,没有找到返回-1
let arr = [20,30,28,25,50];
arr.findIndex((item)=>{
return item>=30
}) // 1
7.forEach()方法,用来遍历数组,接受三个参数,参数一表示当前成员,参数二表示当前成员的索引,参数三成员所属的原数组:
let arr = [20,30,28,25,50];
arr.forEach((item,index,array)=>{
console.log(item); // 20,30,28,25,50
console.log(index); // 0,1,2,3,4
console.log(array); //[20,30,28,25,50]
})
8.includes()方法,用来判断数组中是否包含指定的值,接受俩个参数,参数一表示指定的值、参数二表示查找的起始位置,返回的是一个Boolean值:
[1, 2, 3,4,5].includes(2); // true
[1, 2, 3,4,5].includes(4); // false
[1, 2, 3,4,5].includes(3, 3); // false
[1, 2, 3,4,5].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
9.join()方法,用来将数组以指定的分隔符转化成字符串,默认以逗号分隔:
var arr= ["xiao", "bai", "yi", "ge"];
var arr1= fruits.join(); // xiao,bai,yi,ge
var arr= ["xiao", "bai", "yi", "ge"];
var arr1= fruits.join("?"); // xiao?bai?yi?ge
10.map()方法,用来将原数组的每一个成员取出来做一些处理在返回一个新的数组:
let arr = [1,2,3,4,5];
arr.map((item)=>{
return item + 1
}) // [2,3,4,5,6]
11.push()方法,用来向数组尾部添加一个或者多个成员,返回新的长度,unshift()和push()相似前者是向数组的起始位置开始添加:
let arr = [1,2,3,4,5];
arr.push(6); // [1,2,3,4,5,6] 6
arr.unshift(6); // [6,1,2,3,4,5] 6
12.pop()方法,用来删除数组的最后一个成员,返回删除的成员,shift()和pop()相似只不过前者是向数组第一个成员删除:
let arr = [1,2,3,4,5];
arr.pop(); // 5
arr.shift(); // 1
13.reduce()方法,用于计算数组的成员的总和:
let arr = [1,2,3,4,5,6];
arr.reduce((pre,data)=>{
return pre+data // 21
}) //参数一表示前一项的总和,参数二表示当前项
14.slice()方法,用于提取数组中的成员,返回一个新的数组,接受俩个参数,参数一表示提取的起始位置,参数二表示结束位置(不包括):
let arr = [1,2,3,4,5,6];
arr.slice(1);//默认从索引1开始一直提取到最后。 [2,3,4,5,6]
arr.slice(1,3);// [2,3]
15.splice()方法,用于添加或者删除数组中的成员,接受三个参数、参数一表示规定从何处开始添加或者删除、参数二表示要删除的长度、参数三表示要添加的成员:
let arr = [1,2,3,4,5,6];
arr.splice(1,0,'xiao');// [1,'xiao',2,3,4,5,6]
arr.splice(1,2);// [2,3] 返回删除的成员