正文 |
集合list在开发过程甭管存数据还是取数据都是很常用的一个容器,不知道这个比喻恰当不,小菜目前觉得list就是一个容器用来存放很多数据,既然它是用来存放数据的,那肯定会对数据做各种的操作,所以我们也应该知道一些list的一些操作方法。今天小菜就分享一些list的常用方法。
◆list方法大全 |
下面展示一下list的常用方法,这张图也是我偶然间在调错时,看不懂bug随便点点出来的,小菜觉得可以当api来参考,一眼看去是不是好多的方法,小菜只用过几种,下面小菜就简单介绍一些我用过的方法!
常用方法
实例数据
◆循环 |
在正式介绍list的常用方法之前,我想先区分一下“循环”和“便历”的区别,我刚开始以为循环就是便历,后来查资料是有资料说他们的区别来着,可是小菜还是没觉得他们有多大的不一样,不过该区别的概念还是得区别,还是慢慢的在实践中去体会他们吧
1、循环和便历的区别
循环(loop)
在满足条件的情况下,重复执行同一段代码。比如,while语句。 循环则技能对应集合,列表,数组等,也能对执行代码进行操作。
遍历(traversal)
按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。遍历同迭代一样,也不能对执行代码进行遍历。
2、循环方法
for
//循环list1
for(int i=0;i<list1.length;i++){
system.out.println(list1.get(i));
system.out.println(list1[i].id);
}
//循环list3
for(int i=0;i<list3.length;i++){
system.out.println(list3.get(i));
system.out.println(list3[i]);
}
for…in、for…of
for…in和for…of我没怎么用过,只是知道,然后我就简单说说这两在最好什么情况下使用。
for…in——一般循环出来的都是key,适合便历对象,不适合循环数组
//循环对象list1
for(var index of list1){
console.log(list1[index]);
}
for…of——一般循环出来的都是value,适合循环数组
//循环数组list3
for(var value of list3){
console.log(value);
}
◆便历 |
1.find
find就是在集合中便历找到一个符合条件的就停止,减少无用操作
//在list2找到id为22的那条数据
var ID="22";
let data1=list2.find(x=>x.id=ID);
2.foreach
foreach是数组上的一个函数,简单便历,没有返回值,也不会改变原数组
list3.forEach(element => {
console.log(element);
});
3.map、reduce、filter
map、reduce、filter我也没怎么用过,就简单说说,然后会分享链接,大家可以参阅一下。
map——不改变原数组,返回的是一个新数组(通过callback对数组元素进行操作,并将操作结果放入新的数组中,然后将其返回。)
reduce——对所有数组进行累加,返回一个累加的出来的那个值
filter——过滤,就是将数组中符合条件的数归到一个新的数组,然后将其返回
◆删除、插入、替换 |
splice用于插入、删除、替换数组中的元素
//【删除】:从第二个位置开始开始删除数组后的一个元素:即删除bb,最后只剩aa
list3.splice(1,1);
//【添加】:在第二个位置后添加cc
list3.splice(1,0,"cc");
//【替换】:删除第二个位置上的bb,然后将其替换成cc
list3.splice(1,1,"cc");
◆链接分享 |
forEach(),map(),filter()和reduce(),find()区别理解
遍历数组的常用方法
js队列方法push()、shift()与pop()、unshift()的理解
小结 |
好了,小菜今天的分享就到这里了,集合的方法有很多,还有很多小菜没有使用过,以后会多多使用。