数组操作
字数统计:1.2k字目录
数组的基本操作
改变原始数组的操作方法
1 | # 向数组末尾添加元素,并返回新的长度 |
splice() 添加/删除数组元素
定义: splice()
方法向/从数组中添加/删除项目,然后返回被删除的项目array.splice(index,howmany,item1,.....,itemX)
参数:
index
:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany
:可选。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX
: 可选。向数组添加的新项目。
删除元素1
2
3
4
5
6let a = [1, 2, 3, 4, 5, 6, 7];
let item = a.splice(0, 3); // [1,2,3]
console.log(a); // [4,5,6,7]
// 从数组下标0开始,删除3个元素
let item = a.splice(-1, 3); // [7]
// 从最后一个元素开始删除3个元素,因为最后一个元素,所以只删除了7
删除并添加1
2
3
4
5
6
7
8let a = [1, 2, 3, 4, 5, 6, 7];
let item = a.splice(0,3,'添加'); // [1,2,3]
console.log(a); // ['添加',4,5,6,7]
// 从数组下标0开始,删除3个元素,并添加元素'添加'
let b = [1, 2, 3, 4, 5, 6, 7];
let item = b.splice(-2,3,'添加1','添加2'); // [6,7]
console.log(b); // [1,2,3,4,5,'添加1','添加2']
// 从数组最后第二个元素开始,删除3个元素,并添加两个元素'添加1'、'添加2'
添加元素1
2
3
4
5
6
7
8
9let a = [1, 2, 3, 4, 5, 6, 7];
// [] 没有删除元素,返回空数组
let item = a.splice(0,0,'添加1','添加2');
console.log(a); // ['添加1','添加2',1,2,3,4,5,6,7]
let b = [1, 2, 3, 4, 5, 6, 7];
// [] 没有删除元素,返回空数组
let item = b.splice(-1,0,'添加1','添加2');
// [1,2,3,4,5,6,'添加1','添加2',7] 在最后一个元素的前面添加两个元素
console.log(b);
数组如果元素不够,会删除到最后一个元素为止
操作的元素,包括开始的那个元素
可以添加很多个元素
添加是在开始的元素前面添加的
sort()
pop()
shift()
push()
unshift()
reverse()
copyWithin()
fill()
不改变原始数组的操作方法
1 | # 连接多个数组,返回新的数组 |
slice()
join()
toLocaleString() 数组转字符串
toString() 数组转字符串 不推荐
concat()
ES6扩展运算符…合并数组
indexOf() 查找数组是否存在某个元素,返回下标
lastIndexOf() 查找指定元素在数组中的最后一个位置
ES7 includes() 查找数组是否包含某个元素 返回布尔
遍历方法(12个):
关于forEach()你要知道:
every 检测数组所有元素是否都符合判断条件
some 数组中的是否有满足判断条件的元素
filter 过滤原始数组,返回新数组
map 对数组中的每个元素进行处理,返回新的数组
reduce 为数组提供累加器,合并为一个值
reduceRight 从右至左累加
ES6 find()& findIndex() 根据条件找到数组成员
ES6 keys()&values()&entries() 遍历键名、遍历键值、遍历键名+键值
1 | [【干货】js 数组详细操作方法及解析合集](https://juejin.im/post/5b0903b26fb9a07a9d70c7e0) |