数组
方法名 | 作用 | 用法 |
---|---|---|
push | 在数组后添加一个新元素,返回新数组长度(改变原数组) | var b = a.push(4) |
unshift | 在数组前添加一个新元素,返回新数组长度(改变原数组) | var b = a.unshift(5) |
pop | 删除并返回数组最后一个元素(改变原数组) | var b = a.pop() |
shift | 删除并返回数组第一个元素(改变原数组) | var b = shift() |
splice | 对数组进行删除修改,返回被删除的元素组成的数组,改变原数组 | a.splice(index,length,增加的元素1,元素2,元素3) // 从索引号index开始删除length个元素,并从index开始增加新元素 |
concat | 合并两个或多个数组,返回新数组(不改变原数组) | var c = a.concat(b) |
slice | 剪切数组(不改变原数组) | var b = a.slice(0,1) //剪切a数组的0-1个元素,负数则从后往前截 |
join | 将数组转换为字符串(不改变原数组) | var b = a.join(“@”) //每个元素中间用@隔开 |
sort | 按ascii码排序,或自定义排序(改变原数组) | a.sort() //按ascii码排序 a.sort(function(a,b){return a-b}) // a-b从小到大排列 b-a 从大到小排列 |
reverse | 颠倒顺序(改变原数组) | a.reverse() // [1,2,3]变成[3,2,1] |
indexOf | 从startIndex开始,查找某元素在数组中的位置,若存在,则返回第一个位置的下标,否则返回-1 | var b = a.indexOf(某元素,startIndex) |
filter | 过滤,满足条件的组成新数组(不改变元素组) | var b = a.filter(function(current,index,array){return current < 0}) // current为当前值,index当前值下标,array该数组 |
map | 格式化数组,批量修改数组(不改变原数组) | var b = a.map(function(current,index,array){return current + 5}) |
every | 数组每一项都满足条件则返回true,否则返回false | var b = a.every(function(current,index,array){return current > 0}) |
some | 数组中至少有一个满足条件则返回true,否则返回false | var b = a.some(function(current,index,array){return current > 0} |
forEach | 遍历数组 | var b = a.forEach(function(item){ }) |
以下为ES6新增方法 | ||
find | 找到数组中第一个满足条件的元素并返回,找不到则返回undefined | var b = a.find(function(ele,index,array){return ele == 1}) |
findIndex | 找到第一个满足条件的元素下标并返回,找不到则返回-1 | var b = a.findIndex(ele=>ele>5) // 箭头函数写法 |
includes | 数组中是否包含某个元素,返回一个布尔值 | var b = a.includes(1) |
Array.isArray | 判断一个元素是否为数组 | Array.isArray([1,2,3]) |