当前位置:   article > 正文

微信小程序——for与foreach_微信小程序 foreach

微信小程序 foreach

目录

一、for语句

1、示例语法

2、示例代码

二、foreach语句

1、使用方法

2、多层嵌套

总结


        在微信小程序的开发之中,循环是我们不可避免的会遇到的东西,其中呢,我们使用最多的就是for语句和foreach语句了,今天我们来详细了解一下这两种语句的具体使用方法吧。

一、for语句

1、示例语法

  1. for (语句; 语句; 语句)
  2. 语句;
  3. for (语句; 语句; 语句) {
  4. 代码块;
  5. }

其支持使用break、continue 关键词。

2、示例代码

  1. for (var i = 0; i < 3; ++i) {
  2. console.log(i);
  3. if( i >= 1) break;
  4. }

输出:

  1. 0
  2. 1

for语句的使用方法大致就是这样,各种编程语言的for循环语句都是一样的,所以我们就不做过多的讲述了,这里只是给一个简单的示范。

二、foreach语句

1、使用方法

  1. allArr.forEach((item:any) => {
  2. console.log(item);
  3. });

此处allArr为你的数组,item为你的这个数组里面每一个元素的替代值,例如:allArr = [{1},{2},{3},{4}],则item分别为{1}、{2}、{3}、{4},然后在后面的{}则可以对数据进行处理。

2、多层嵌套

foreach作为一种循环语句,嵌套自然是每一个循环语句都要掌握的知识。

  1. /**
  2. * 处理数组
  3. */
  4. transformData(arrs: any, weekNumber: number, cache: any) {
  5. let professionArr = cache as any;
  6. let d = 0;
  7. // 创建新的数组
  8. let result: { item: any[]; }[] = [];
  9. // 初始化每一天的课程数组
  10. for (let i = 0; i < 7; i++) {
  11. let dayObj = {
  12. day: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'][i],
  13. item: new Array(6) // 创建长度为6的课程数组
  14. };
  15. result.push(dayObj);
  16. }
  17. arrs.forEach((arr: any) => {
  18. let professionName = professionArr[d].zy;
  19. // 获取指定周数的课程数据
  20. let weekData = arr.week[weekNumber - 1].data;
  21. d++;
  22. // 遍历课程数据,将课程安排到新数组中对应的位置
  23. weekData.forEach((dayObj: { item: any; day: string; }) => {
  24. let myItems = dayObj.item;
  25. let dayOfWeek = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'].indexOf(dayObj.day);//查找对应的日期
  26. let items: { num: any[]; zy: any; }[] = [];
  27. myItems.forEach((item: any) => {
  28. let num = item.num;
  29. if (num.length > 2) {
  30. let arr = num;
  31. for (let i = 0; i < num.length / 2; i++) {
  32. let myArr: any[] = [];
  33. myArr.push(arr[i * 2]);
  34. myArr.push(arr[i * 2 + 1]);
  35. let newItem = { ...item }; // 创建新的对象并复制属性值
  36. newItem.num = myArr;
  37. items.push(newItem);
  38. }
  39. } else {
  40. items.push(item);
  41. }
  42. });
  43. items.forEach((arrs: { num: any[]; zy: any; }) => {
  44. let startTime = arrs.num[0];
  45. let endTime = arrs.num[1];
  46. //将专业加到课程之中
  47. let zy = professionName;
  48. arrs.zy = zy;
  49. // 处理课程重叠
  50. for (let i = (startTime - 1) / 2; i <= (startTime - 1) / 2 + (endTime - startTime) / 2; i++) {
  51. if (!result[dayOfWeek].item[i]) {
  52. // 当前时间段没有安排课程,直接放置
  53. result[dayOfWeek].item[i] = {
  54. mergedItem: [result[dayOfWeek].item[i], arrs], // 重叠的课程的数组
  55. };
  56. } else {
  57. // 当前时间段有已安排的课程,处理重叠逻辑(例如合并、拆分等)
  58. result[dayOfWeek].item[i].mergedItem.push(arrs)//向其中推一个
  59. }
  60. }
  61. });
  62. });
  63. });
  64. return result;
  65. },

在此处我们可以看到我是使用了四个foreach语句对我们的数组进行了处理,其中就存在着foreach语句的嵌套。

总结

        就小编个人写小程序的代码来看的话,个人还是在处理数组的时候更喜欢foreach语句一些,它能给到开发者的根据小编的感觉来说,比for语句更加的便捷一些,开发者可以通过自定义的名字直接拿到数据,不需要像for语句中使用for循环中的比如:i,之类的数字来去到数组里面拿数据,当然这是小编自己的总结感受了,希望和各位一起变强呀!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/94155
推荐阅读
相关标签
  

闽ICP备14008679号