-
unshift()
- 添加指定元素到数组的开头,并返回数组新的长度。
- 参数
- 添加的元素。
- 返回值
- 添加元素后新的数组长度
shift()
-
删除当前数组的第一个元素,并返回删除的元素。
-
参数
- 无
-
返回值
- 被删除的元素。
push()
-
将指定元素添加到当前数组的末尾,并返回新的长度。
-
参数
- 要添加的元素
-
返回值
- 添加后数组新的长度。
pop()
-
删除当前数组的最后一个元素,并返回删除的元素。
-
参数
- 无
-
返回值
- 被删除的元素。
indexOf()
-
在当前数组中查询指定元素,并返回其从左到右第一次出现的索引。
-
参数
- 查找的目标元素。
-
返回值
- 目标元素在当前数组中从左到右第一次出现的索引,如果该元素不存在于当前数组,则返回-1。
-
lastIndexOf()
-
在当前数组中查询指定元素,并返回其从右到左第一次出现的索引。
-
参数
- 查找的目标元素。
-
返回值
- 目标元素在当前数组中从右到左第一次出现的索引,如果该元素不存在于当前数组,则返回-1。
-
-
splice()
-
从当前数组中添加指定元素或删除指定元素。
-
参数
- 添加或删除的开始索引。
- 删除的元素个数。
- 要添加的一个或多个元素。
-
案例
-
删除指定元素
-
//删除当前数组索引1的开始的2个元素 arr.splice(1,2);
-
添加指定元素
-
var obj={ account:'wangwu', password:'ww123', chinese:111, math:120, english:59 }; var obj2={ account:'zhaoliu', password:'zl123', chinese:119, math:122, english:33 }; //在索引1位置添加obj和obj2 arr.splice(1,0,obj,obj2);
-
删除并添加元素
-
var obj={ account:'wangwu', password:'ww123', chinese:111, math:120, english:59 }; var obj2={ account:'zhaoliu', password:'zl123', chinese:119, math:122, english:33 }; //删除索引1开始的1个元素,并添加obj和obj2元素索引从1开始 arr.splice(1,1,obj,obj2);
-
-
-
join()
-
将数组中所有元素连接为一个字符串。
-
参数
- 连接字符串的分隔符,可省,默认为逗号。
-
返回值
- 连接后的字符串内容。
-
var arr1=[1,2,3,4,5,6]; var str=arr1.join('*');
-
-
reverse()
-
翻转数组中元素顺序(倒序)。
-
参数
- 无
-
返回值
- 返回当前数组。
-
-
concat()
-
连接一个或多个数组,并返回新数组。
-
参数
- 要连接的一个或多个数组。
-
返回值
- 连接后的新数组
-
var arr2=[ { account:'wangwu', password:'ww123', chinese:111, math:120, english:59 }, { account:'zhaoliu', password:'zl123', chinese:119, math:122, english:33 } ]; var arr3=[ { account:'tianqi', password:'ww123', chinese:111, math:120, english:59 }, { account:'wangba', password:'zl123', chinese:119, math:122, english:33 } ]; var newArray=arr.concat(arr2,arr3);
-
-
slice()
-
选择当前数组中一部分元素,并返回存储选中元素的新数组。
-
参数
- 开始索引。
- 结束索引。
-
返回值
- 存储选中元素的新数组。
-
//选择数组一部分元素 [1,3) var newArray=arr.slice(1,3);
-
-
forEach()
-
对每个当前数组元素执行指定函数。
-
参数
- 每个元素要执行的回调函数。
- 回调函数的参数
- 第一个参数(必须):循环遍历的当前元素。
- 第二个参数(可选):循环遍历的当前元素的索引。
- 第三个参数(可选):循环遍历的目标数组。
- 回调函数的参数
- 每个元素要执行的回调函数。
-
返回值
- 无
-
-
filter
-
过滤(筛选)数组中的元素,会对每个数组元素执行指定回调函数,将回调函数返回值为true的当前元素添加到新数组中,循环完毕后,返回该新数组。
-
参数
- 每个元素要执行的回调函数。
- 回调函数的参数
- 第一个参数(必须):循环遍历的当前元素。
- 第二个参数(可选):循环遍历的当前元素的索引。
- 第三个参数(可选):循环遍历的目标数组。
- 回调函数的参数
- 每个元素要执行的回调函数。
-
返回值
- 存储了回调函数返回结果为true的元素的数组。
-
var re=arr.filter(function(val){ if(val.account=='zhangsan'){ return true; } }); console.log(re);
-
-
map()
-
ES6新增
-
对当前数组中每个元素调用指定回调函数,将回调函数的返回值存储到新数组中,循环完毕后,将新数组作为返回值返回。
-
参数
- 每个元素要执行的回调函数。
- 回调函数的参数
- 第一个参数(必须):循环遍历的当前元素。
- 第二个参数(可选):循环遍历的当前元素的索引。
- 第三个参数(可选):循环遍历的目标数组。
- 回调函数的参数
- 每个元素要执行的回调函数。
-
返回值
- 存储了回调函数返回结果的数组。
-
var re=arr.map(function(val){ return val.chinese+val.math+val.english; }); console.log(re);
-
-
sort()
-
实现数组中元素排序,对当前数组中每个元素调用指定回调函数,根据回调函数的返回值是否大于0来决定元素的顺序。
-
参数
- 每个元素要执行的回调函数。
- 回调函数的参数
- 第一个参数:要参加排序的第一个元素。
- 第二个参数:要参加排序的第二个元素。
- 排序规则
- 返回值大于0,将第一个参数放在第二个参数的后面
- 返回值小于0,将第一个参数放在第二个参数的前面
- 回调函数的参数
- 每个元素要执行的回调函数。
-
返回值
- 返回排序后的当前数组。
-
//升序 var re=arr.sort(function(a,b){ return a.id-b.id; }); console.log(re,arr); //降序 re=arr.sort(function(a,b){ return b.id-a.id; }); console.log(re,arr);
-
-
some()
-
检查数组中任意一个元素是否通过测试。对当前数组中每个元素调用指定回调函数,有任意一个元素的回调函数返回值为true,则循环结束时,返回结果为true。
-
参数
- 每个元素要执行的回调函数。
- 回调函数的参数
- 第一个参数(必须):循环遍历的当前元素。
- 第二个参数(可选):循环遍历的当前元素的索引。
- 第三个参数(可选):循环遍历的目标数组。
- 回调函数的参数
- 每个元素要执行的回调函数。
-
返回值
- 布尔值,如果有任意一个回调函数返回true,则some返回true,如果所有的回调函数都返回false,则some返回false。
-
var re=arr.some(function(val){ return val.account=='zhangsan'; }); console.log(re);
-
-
every()
-
检查数组中所有元素是否都通过测试。对当前数组中每个元素调用指定回调函数,所有元素的回调函数返回值为true,则循环结束时,返回结果为true。
-
参数
- 每个元素要执行的回调函数。
- 回调函数的参数
- 第一个参数(必须):循环遍历的当前元素。
- 第二个参数(可选):循环遍历的当前元素的索引。
- 第三个参数(可选):循环遍历的目标数组。
- 回调函数的参数
- 每个元素要执行的回调函数。
-
返回值
- 布尔值,如果所有回调函数返回true,则every返回true,如果有任意一个回调函数都返回false,则every返回false。
-
var re=arr.every(function(val){ return val.chinese>=90; }); console.log(re);
-
-
reduce()
-
将数组中的值减为单个值(将数组中的所有元素合为一个数据)。对当前数组的每个元素执行指定回调函数,将每次回调函数的返回值,作为下一次回调函数的参数传入,循环结束值,将最后一次回调函数的返回值作为reduce的返回值。
-
参数
- 回调函数
- 回调函数参数
- 第一个参数:reduce第二个实参值或上一次回调函数的返回值。
- 第二个参数(必须):循环遍历的当前元素。
- 第三个参数(可选):循环遍历的当前元素的索引。
- 第四个参数(可选):循环遍历的目标数组。
- 回调函数参数
- 第一次回调函数的第一个参数实参(初始值)
-
//计算所有学生的语文总成绩 var re=arr.reduce(function(param,val,index,arr){//param 0 99 210 console.log(val,index,arr); return param+val.chinese; },0); console.log(re);
- 回调函数
-
-
includes()
-
ES7新增
-
检查数组中是否包含指定元素。
-
参数
- 第一个参数(必须):要查找的元素。
- 第二个参数(可选):开始索引,默认为0。
-
返回值
- 布尔,如果存在,返回true,否则,返回false。
-
var arr1=[1,2,3,7,4,5,6]; var re=arr1.includes(7); console.log(re); re=arr1.includes(7,4); console.log(re);
-