1.数组是什么
2.检测数组
3.数组方法
4.扩展运算符合并数组
5.find
6.findIndex
7.includes
1.数组是什么
数组是值的有序集合
2.检测数组
var myArr =[]
console.log(myArr instanceof Array) //不同window,iframe不适用
console.log(Array.isArray(myArr)) //浏览器版本有关
3.数组方法
操作方法 | 描述 | 改变数组 | 返回值 | 注意 |
---|---|---|---|---|
push | 在数组末尾加元素 | 是 | 新数组的长度 | |
pop | 删除数组最后的元素 | 是 | 被删除的元素 | |
unshift | 从数组头部加元素 | 是 | 新数组的长度 | |
shift | 从数组头部删除元素 | 是 | 被删除的元素 | |
splice | 在指定位置删除增加元素 | 是 | 被删除的元素 | 删除任意数量的项=>只需要指定2个参数:要删除的第一项的位置和要删除的项数 向指定位置插入任意数量的项=>只需要3个参数:起始位置,0和要插入的项。 替换:要向指定位置插入任意的项,且同时删除任意数量的项。=>只要3个参数:起始位置,要删除的项数,要插入的任意项 |
reserve | 反转数组 | 是 | 新的数组 | |
sort | 排序 | 是 | 新的数组 | 升序=>function(a,b){return a-b} 降序=>function(a,b){return b-a} |
contact | 合并数组 | 否 | 新的数组 | 可以合并多个数组和基本数据类型 |
join | 转为字符串 | 否 | 拼接后的字符串 | |
slice | 裁剪数组 | 否 | 新的数组(指定元素) | 左闭右开 |
slice:
(1)任何参数为负数,表示从数组反方向(尾部)开始算起
(2)任何参数为NaN,都会被当作0处理
(3)当start大于end时,会返回空数组
splice:
(1)当start为负数时,会从数组反方向(尾部)开始删除
(2)当start或者deletaCount为NaN,会当作0来处理
(3)当deleteCount大于数组长度时,将会删除开始位置之后的所有值
位置方法 | 描述 | 参数 | 返回值 |
---|---|---|---|
indexOf | 从头开始查找指定的元素 | 指定查找的元素,[查找的起始位置] | 找到的index,找不到返回-1 |
lastIndexOf | 从尾开始查找指定的元素 | 指定查找的元素,[查找的起始位置] | 找到的index,找不到返回-1 |
迭代方法 | 描述 | 参数 | 返回值 |
---|---|---|---|
every | 对数组每一项运行给定的函数,如果数组每一项都返回true, 则返回true,否则是false | function(item[,index,arr]) | true/false |
some | 对数组每一项运行给定的函数,如果数组有一项都返回true, 则返回true,否则是false | function(item[,index,arr]) | true/false |
forEach | 对数组每一项运行给定的函数 | function(item[,index,arr]) | 无返回值 |
map | 对数组每一项运行给定的函数 | function(item[,index,arr]) | 返回调用结果组成的数组 |
filter | 对数组每一项运行给定的函数 | function(item[,index,arr]) | 返回该函数为true的项组成的数组 |
forEach:无返回值
map:将返回值组装成一个数组
filter:返回的也是一个数组,但是返回的数组结构与原数组结构一致,可以说返回的数组是基于原数组的
归并方法 | 描述 | 参数 |
---|---|---|
reduce | 根据指定回调函数从头到尾将数组运行的结果当作下一个运行的初始值,合并为一个值 | callback,[始值] callback参数:prev(累加器),cur(当前值),index(项的索引),arr(数组对象) |
reduceRight | 根据指定回调函数从尾到头将数组运行的结果当作下一个运行的初始值,合并为一个值 | callback,[始值] callback参数:prev(累加器),cur(当前值),index(项的索引),arr(数组对象) |
4.扩展运算符合并数组
let ary = [0,1,2,3]
let ary1 = [4,5,6]
let ary2 = [...ary,...ary1];
console.log(ary2)
或者
let ary = [0,1,2,3]
let ary1 = [4,5,6]
let ary2 = ary.push(...ary1);
console.log(ary2)
5.find
var obj = [{
id: 0,
name: 00
}, {
id: 1,
name: 111
}]
function getId(arr,id){
var target
arr.find(item=>{
if(item.id == id) {
target = item
}
})
return target
}
console.log(getId(obj,1))
6.findIndex
7.includes