写在前:记录一些数组的方法。
1.栈操作(先进后出)
push()
作用:添加元素,
参数:可以有多个,将来都会添加到数组的最后,
返回值:返回改变后的数组的长度
pop()
作用:删除并返回数组中的最后一个元素,并且会修改数组的长度
参数:
返回值: 返回最后一个元素
2.队列操作(先进先出)
shift()
作用:取出数组中的第一个元素,并且会修改数组的长度
参数:
返回值: 返回数组中的第一个元素
unshift()
作用:插队,直接到队列的最前面
参数:可以有多个
返回值: 返回改变数组的长度
3.排序方法
reverse()
作用: 翻转数组
返回值: 返回一个新的翻转过后的数组
sort()
作用:是数组sort也是根据字符,从小到大排序;
返回值:返回排好序的数组
4,操作方法
concat()
作用:合并两个或多个数组
返回值: 返回一个合并好的新的数组
slice()
作用:方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象
参数:为负数是倒取
返回值: 新数组
splice()
作用:方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
注意:这种方法会改变原始数组
5,位置方法
indexOf()
作用:方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1,
返回值:索引 / -1
lastIndexOf()
作用:方法返回指定元素在数组中的最后一个索引,如果不存在则返回-1。从数组的后面向前查找。
6.迭代方法 不会修改原数组
every()
作用:方法用于检测数组所有元素是否都符合指定条件(通过函数提供)
返回值:方法使用指定函数检测数组中的所有元素 (true / false )
语法:array.every(function(currentValue,index,arr), thisValue)
参数说明:
#function(currentValue, index,arr) : [必须。函数,数组中的每个元素都会执行这个函数]
#currentValue: [必须。当前元素的值]
#index: [可选。当前元素的索引值]
#arr: [可选。当前元素属于的数组对象]
#thisValue: [可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。]
filter()
作用:方法会过滤我们想要的数组,并返回这个数组
返回值:新的数组
forEach()
作用:方法对数组的每一个元素执行一次提供的函数
返回值;没有返回值
map()
作用:方法创建一个新的数组,其结果是该数组中的每个元素的调用一个提供的函数后返回的结果。
返回值;
some()
作用:方法测试数组中的某些元素是否通过由提供的函数实现的测试
返回值:
keys()
作用:方法返回一个新的Array迭代器,它包含数组中的每个索引的键。
返回值:一个新的Array迭代对象
另: 数组循环方法 无返回值(需要自己return 定义的值)
// let aa = list.filter( item => item.parkAddressId == val)
let aa = list.map((item) => {
console.log('----', item)
if(item.parkAddressId == val) {
return item
}
return ''
})
7, 方法
join() 方法将一个数组的所有元素连接成一个字符串并返回这个字符串