设计素材网站永久,网站建设流程规划,网站开发成app,网站 验证码 错误欢迎使用我的小程序#x1f447;#x1f447;#x1f447;#x1f447; 俱好用助手功能介绍 你是否曾感觉JavaScript数组像个装满数据的“沉默集装箱”#xff1f;今天#xff0c;我们来给它装上超能力#xff01;#x1f680;
为什么数组方法如此重要#xff1f;
…欢迎使用我的小程序 俱好用助手功能介绍你是否曾感觉JavaScript数组像个装满数据的“沉默集装箱”今天我们来给它装上超能力为什么数组方法如此重要想象一下你有一个装满各种颜色袜子的抽屉数组。现在你想找出所有红色的袜子把袜子按颜色分类检查是否有成对的袜子把脏袜子拿出来洗如果没有数组方法你得把手伸进抽屉里一件件翻找。但有了数组方法——就像拥有了一个智能机器人助手四大类数组方法轻松掌握1️⃣ 查户口类了解数组的“家庭情况”length- 数组的“身高测量”constfruits[苹果,香蕉,橙子];console.log(fruits.length);// 3就像数水果篮里有几个水果includes()- 数组的“人脸识别”constplaylist[周杰伦,林俊杰,邓紫棋];console.log(playlist.includes(周杰伦));// true确认偶像在歌单里indexOf()和findIndex()- 数组的“捉迷藏专家”conststudents[小明,小红,小刚];console.log(students.indexOf(小红));// 1小红坐在第二个位置constscores[85,92,78];constfirstFailscores.findIndex(scorescore80);console.log(firstFail);// 2找到第一个不及格的同学2️⃣ 变戏法类改变数组的“魔术师”map()- 数组的“变形金刚”⭐最常用constprices[10,20,30];constdiscountedprices.map(priceprice*0.8);// 全场八折console.log(discounted);// [8, 16, 24]forEach()- 数组的“广播喇叭”consttasks[写代码,喝咖啡,修bug];tasks.forEach(taskconsole.log(正在${task}));// 依次播报每项任务reduce()- 数组的“会计先生”⭐有点难但超有用constshoppingCart[100,50,25];consttotalshoppingCart.reduce((sum,price)sumprice,0);console.log(total);// 175计算购物车总价3️⃣ 大扫除类整理数组的“清洁工”filter()- 数组的“筛子”⭐五星推荐constnumbers[1,2,3,4,5,6];constevensnumbers.filter(numnum%20);console.log(evens);// [2, 4, 6]只留下偶数slice()- 数组的“切蛋糕刀”constpizza[芝士,香肠,蘑菇,青椒,洋葱];constmySlicepizza.slice(1,4);// 切下第2到第4块console.log(mySlice);// [香肠, 蘑菇, 青椒]splice()- 数组的“瑞士军刀”consttodoList[学习JS,健身,看电影];todoList.splice(1,1,学数组方法);// 替换第二个任务console.log(todoList);// [学习JS, 学数组方法, 看电影]实战演练一起来玩数组方法场景管理你的游戏好友列表 // 初始好友列表letfriends[{name:小明,level:25,online:true},{name:小红,level:30,online:false},{name:小刚,level:15,online:true},{name:小李,level:40,online:true}];// 1. 找出所有在线的好友constonlineFriendsfriends.filter(friendfriend.online);console.log(在线好友,onlineFriends.map(ff.name));// 2. 给所有好友升5级constleveledUpfriends.map(friend({...friend,level:friend.level5}));// 3. 找出最高等级的好友consttopPlayerfriends.reduce((top,current)current.leveltop.level?current:top);console.log(大佬是,topPlayer.name);// 4. 按等级排序constsortedFriends[...friends].sort((a,b)b.level-a.level);console.log(等级排行榜,sortedFriends.map(f${f.name}:${f.level}级));链式调用数组方法的“组合技”✨真正的魔法在这里你可以把多个方法连起来用constproducts[{name:手机,price:2999,category:电子},{name:衬衫,price:199,category:服装},{name:笔记本,price:5999,category:电子},{name:鞋子,price:399,category:服装}];// 一行代码完成复杂操作constexpensiveElectronicsproducts.filter(productproduct.category电子)// 1. 筛选电子产品.filter(productproduct.price2000)// 2. 筛选高价商品.map(productproduct.name)// 3. 只取商品名.join(, );// 4. 用逗号连接console.log(高价电子产品${expensiveElectronics});// 输出高价电子产品手机, 笔记本小测验测测你的数组超能力 // 挑战用一行代码解决constnumbers[3,1,4,1,5,9,2,6,5];// 任务去重 → 排序 → 只留大于3的数 → 求和constresult/* 你的代码写在这里 */;console.log(result);// 应该输出20 (4569)参考答案constresult[...newSet(numbers)].sort((a,b)a-b).filter(numnum3).reduce((sum,num)sumnum,0);总结与最佳实践不改变原数组优先使用map、filter、slice等链式调用让代码更优雅从左到右阅读方法选择想转换每个元素 →map()想筛选某些元素 →filter()想检查条件 →some()/every()想汇总为单个值 →reduce()记住数组方法不是记忆负担而是你的超能力工具箱每次遇到数组操作问题时想想“我的工具箱里有什么合适的工具”现在就去你的代码里试试这些超能力吧你会惊讶地发现处理数据变得如此轻松愉快。一句话总结数组方法让JavaScript从“能干活”变成“干得漂亮”