数组
在内存中开辟一个连续存储多个数据的存储空间,再起一个统一的名字 数组也是对象数据类型的,也是由键值对组成的有一个length属性存储的是数组长度
1.push():向数组末尾增加新内容,返回新增后数组的长度,原有数组改变
var arr = [1,4,5,67,8];
// 添加一个
// 在最后添加一个数字5
arr.push(5);
//输出 新数组的长度6
console.log(arr.push(5));
// 添加多个
//在最后添加数字112 和 34,字符串'avf'
arr.push(112,34,'avf');
2.pop():删除数组最后一项,返回被删除的那一项,原有数组改变
var arr = [1,4,5,90,8];
// 删除数组中最后一项
arr.pop();
// 输出被删的那个数据
console.log(arr.pop());
3.shift():删除数组第一项,返回删除的一项,原有数组改变
var arr = [1,4,5,90,8];
//删除数组中第一项
arr.shift();
// 输出被删除的那个数据
console.log(arr.shift());
4.unshift():向数组开始位置追加新内容,返回新增后数组的长度,原有数组改变
var arr = [1,4,5,90,8];
//在数组的起始位置添加一个数据
arr.unshift();
// 输出新数组的长度
console.log(arr.unshift());
5.splice():
1.splice(n,m)从索引 n 开始,删除 m 个把删除的部分以新数组返回,原有数组改变新增
var arr = [1,4,5,90,8];
//从下标为 0 开始删除 2 个数据
arr.splice(0,2);
// 输出被删除的数据组成的新数组
console.log(arr.splice());
2.splice(n,0,x,···)从索引 n 开始删除 0项,把更多需要插入的内容存放到 n 前面,修改
var arr = [1,4,5,90,8];
//从下标为 0 开始添加 1 个数据
arr.splice(0,0,23);
// 输出被删除的数据组成的新数组
console.log(arr.splice());
3.splice(n,m,x)把原有内容删除掉,用新的内容替换删除的内容
var arr = [1,4,5,90,8];
//从下标为 0 开始删除 2 个数据,替换成 23
arr.splice(0,2,23);
// 输出被删除的数据组成的新数组
console.log(arr.splice());
6.slice():在一个数组中,按照条件查找出其中的部分内容,两个参数(n,m),从索引n处开始找到m处不包含m,返回以一个新数组存储查找的内容,原有数组不变
var arr = [1,4,5,90,8];
//从下标为 0 开始截取,截取下标为 2 之前的数据
arr.slice(0,2);
// 输出截取的数据组成的新数组
console.log(arr.slice());
7.concat():实现多个数组的拼接,返回新数组,原有数组不变
var arr = [1,4,5,90,8];
//将参数中的数据元素拆开,分别存入数组 arr 中
arr.concat([0,0,23]);
// 输出新数组 [1,2,4,90,8,0,0,23]
console.log(arr);
8.reverse():将数组元素颠倒顺序
var a1 =['A','a','b','E','P']
var temp = [11,14,15,16]
var a2 = al.sort()console.log(a2);
console.log(a1.reverse());//将a1数组中的元素顺序颠倒var newArr = al.concat(temp)console.log(newArr);
9.indexOf(元素):从左向右查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到
var arr = [12,25,33,12,89]
var index1=arr.indexof(12)//从左往右查找返回找到的第一个元素的下标,第二个元素找不到 console.log(index1);
10.lastindexOf(元素):从右往左查找元素的位置。返回元素在数组中的下标(索引)
var arr = [12,25,33,12,89]
var lastIndex = arr.lastIndexof(12)
console.log(lastIndex)
11.sort():排序函数,默认按升序(从小到大)排列
var arr = [45,32,78,56,22,'aaa'];
var a1 =['A','a','b','E','p']
console.log(arr.sort());
console.log(a1.sort ());
12.join(连接字符):作用是将数组中的元素通过给定的连接字符连成一个字符串
var arr = [11,22,33,44,55]
var s1=arr.join['-']//元素之间用'-'连接
var s2 = arr. join()//默认情况(不带参数),元素之间用','连接
13.filter():可以实现对数组元素的"过滤",返回的元素构成一个新的数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.filter(function (value, index) { //(元素,下标)
return index % 3 == 0 //返回下标对三取余等于零的元素
})
console.log(temp) //[1,4,7,10]
14.fill(值/变量):用给定的值或变量填充数组
var arr = new Array(5)
arr.fill(1)//数组的5个单元都是2
console.log(arr) //[2, 2, 2, 2,
1
2
3
15.every(): 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回 true
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.every(function (value) {
return value <= 10 //都小于等于10则返回true,否则返回false
})
console.log(temp) //true
16.includes() :判断一个数组中是否包含一个指定的值
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.includes(3)
var temp1 = arr.includes(3, 3)
console.log(temp) //true
console.log(temp1) //false
17.find() :判断一个数组中是否包含一个指定的值
const people = [
{
name: "Matt",
age: 27
},
{
name: "Nicholas",
age: 29
}
];
people.find((element, index, array) => element.age < 28) // // {name: "Matt", age: 27}
18.some():对数组每一项都运行传入的测试函数,如果至少有1个元素返回 true ,则这个方法返回 true
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let someResult = numbers.some((item, index, array) => item > 2);
console.log(someResult) // true
19.forEach():对数组每一项都运行传入的函数,没有返回值
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.forEach((item, index, array) => {
// 执行某些操作
});
20.map():对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let mapResult = numbers.map((item, index, array) => item * 2);
console.log(mapResult) // 2,4,6,8,10,8,6,4,2