蓝桥杯2022web省赛赛题题解-09

完整代码见GitHub:github.com/Veilhry/lanqiaoweb/tree/master/09

网页在线预览地址:https://veilhry.github.io/lanqiaoweb/09/index.html

介绍
“狼人杀”是一款多人参与的策略类桌面游戏。本题我们一起完成一个简易的狼人杀游戏,让我们找到其中的狼人。

目标
在本题index.html已经给出的数组中,我们可以通过数组的 filter方法:cardList.filter((item) => item.category == “werewolf”)返回一个都是狼人的新数组。但是技术主管为了考验大家的技术,规定了在代码中任何地方都不能出现filter关键字。所以我们需要封装一个myarray方法来实现类似数组filter的功能。
1.狼人比较狡猾,筛选狼人的条件可能会变化,例如 item.name,请实现一
个通用的方法。
2.完成封装后,页面效果会自动完成,在这里插入图片描述

题解

本题看似花哨,其实主要是一个原生filter函数的实现。

// 返回条件为真的新数组
Array.prototype.myarray = function (cb) {
  // TODO:待补充代码
  let res = []
  // console.log(cb(e));
  this.forEach((ele,index)=>{
    let flag = cb(ele)
    if(flag){
      res.push(this[index])
    }
    }
  )
  return res
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值