Array
Array
添加/删除元素:
arr.push() //从尾端添加元素
arr.pop() //从尾端提取元素
arr.shift() //从前端提取元素
arr.unshift() //从前端添加元素
arr.splice(index,num,arr) //从索引为index开始删除num个数组元素,并在当前位置插入arr
arr.slice(start,end) //返回索引start到end的数组
arr.concat(arr2) //合并数组并返回
遍历元素:
- arr.forEach() //数组为每个元素都运行一个函数
- forEach, for, for..of //遍历数组
- map(func) //遍历并新数组
搜索元素:
arr.indexOf() //返回索引,找不到返回-1
arr.lastIndexOf() //返回索引
arr.includes() //返回true/false
arr.find(function(){…}) //返回单个元素
arr.findIndex() //返回索引
arr.filter(function(){…}) //返回多个元素
转换数组:
arr.sort( (a,b) => a-b ) //数字排序
arr.sort( (a,b) => a.localeCompare(b) ) //字符串排序
arr.reverse() //反转顺序
arr.reduce( (accumulator, item, index, array) => {..} ) //accumulartor是上次函数调用的结果
arr.reduceRight()
其他:
- Array.isArray(arr) //检查arr是否是一个数组
Array : toString();
toLocalString();
valueOf();
some();
every();
fliter();
forEach();
map( function(item,index,array){} );
reduce( function(prev,cur,index,array){} );
arr.sort( function(a,b){
return a-b;
})
数组降维
1 |
|
数组拼接
1 |
|
方法
reduce
1 |
|
accumulator
—— 是上一个函数调用的结果,第一次等于 initial(如果提供了 initial 的话)
item
—— 当前的数组元素
index
—— 当前索引
arr
—— 数组本身
上一个函数调用的结果将作为第一个参数传递给下一个函数
如果没有initial
, accumulator
则为arr[0]
1 |
|
splice
1 |
|
Array.isArray
1 |
|
find
1 |
|
filter
1 |
|
在数组中查找
arr.indexOf(item, from)
—— 从索引from
开始搜索item
,如果找到则返回索引,否则返回-1
。arr.includes(item, from)
—— 从索引from
开始搜索item
,如果找到则返回true
(译注:如果没找到,则返回false
)
1 |
|
类数组
常见类数组有函数的剩余参数,let arrayLike = document.querySelectorAll('div')
; dom列表
类数组拥有
length
属性,且length
属性的类型是number
;
1 |
|
1 |
|
如果我们在箭头函数中访问
arguments
,访问到的arguments
并不属于箭头函数,而是属于箭头函数外部的“普通”函数。
1 |
|
Spread
1 |
|
Questions and solutions
新建长度为7的数组,数组内元素默认值为3
1 |
|
新建长度为7的数组,数组内元素递增赋值
1 |
|
reWrite methods
1 |
|
本文作者: 孟 虎
本文链接: https://menghu1994.github.io/blog/2023/10/Javascript/Array/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!