高阶箭头函数题

高阶箭头函数题

原题:

要求:使用箭头函数的语法来计算squaredIntegers数组里正整数的平方(分数不是整数)。

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34];
const squareList = (arr) => {
  "use strict";
  // 在这行以下修改代码
  const squaredIntegers = arr;
  // 在这行以上修改代码
  return squaredIntegers;
};
// 测试你的代码
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

条件:
1.不用function()
2. 不用循环
3. 使用map,filter或reduce

知识点:

  1. 箭头函数的书写
  2. map()
  3. filter()
  4. 乘方的写法

思路:

先用filter筛选出自然数,再用map给数组里的项加上平方

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34];
const squareList = (arr) => {
      "use strict";
// 在这行以下修改代码
      const squaredIntegers = arr.filter((a) => a > 0 && a % 1 == 0).map(i => i**2);
// 在这行以上修改代码
      return squaredIntegers;
      };
// 测试你的代码
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

.map().filter()方法

原数组.map(处理方法) return 处理后的数组

原数组.filter(条件函数) return 含符合条件项的数组

这题主要考箭头函数的书写,可以看出箭头函数编写十分简洁

乘方不一定要用Math.pow(a,b),这里没有办法把数组中的项一一写入a,直接用**2来表示平方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值