🏄🏄🏄🏄
base
// 栈方法
push 向数组末尾添加一个或多个元素,返回数组length
pop 删除数组最后一个元素
unshift
shift 删除数组第一个元素
// 排序方法
reverse 颠倒顺序
sort 排序
// 操作方法
concat 合并数组
slice 指定的位置开始删除指定的数组项,并且将删除的数组项构建成一个新数组 起始值1
splice 对一个数组做删除、插入和替换,默认1开始计算,返回删除数组
// 位置方法
indexOf 从前向后查找从0开始
lastIndexOf 从后向前查找元素在数组中位置
// 迭代方法
forEach
let b = a.filter((v) => v > 10) filter返回大于10的新数组
A.every((v) => v > 10) 全部数字大于10,返回true,有一个不满足就返回false
A.some((v) => v > 10) 有一个数字大于10就返回true
A.map(function(elem) { return ‘1’ })
A.filter
reduce
// callback函数接受4个参: 之前值、当前值、索引值以及数组本身 |
判断数组
Array.isArray()
arr.constructor === Array
arr instanceof Array
Object.prototype.toString.call(obj) === ‘[object Array]’
// 同理object Function object RegExp
转换方法
[1,2,3].toString()
.valueOf
.toLocaleString
.join
数组转对象
[0,1] {0:0,1:1}
.entries()
复制数组
[].slice()
删除方法
JavaScript删除数组中的项 delete vs splice
一个是设置为undefined,一个是真正的删除了
遍历区别
forEach不能break和return
forin不仅遍历数组中元素,还遍历自定义和原型属性,而且顺序是随机的
es6 新增加了for-of,正确响应break,continue,return,
相关属性
// hasOwnProperty |