javascript - Javascript过滤整数
问题描述
我正在 FreecodeCamp 上学习 javascript。而且,我的问题的解决方案并没有帮助我更多。我们必须过滤保存在 const 变量中的数组中的整数。
const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = (arr) => {
"use strict";
const squaredIntegers = arr.filter( (num) => num > 0 && num % parseInt(num) === 0 ).map( (num) => Math.pow(num, 2) );
return squaredIntegers;
};
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);
我真的无法理解这部分num % parseInt(num) === 0 ).map( (num) => Math.pow(num, 2) );
为什么使用 parseint() 方法和 Math.pow。有人可以解释我为什么吗?
谢谢。
解决方案
parseInt(num)
给出 num 的整数部分,例如parseInt(3.14) === 3 //true
. 使用num % parseInt(num)
基本上给出了数字与其整数部分之间的差异。如果不是0
,则该号码被丢弃。
Math.pow(num)
给出一个平方数,将其返回到新数组. 不过,num * num
在这方面更快,不必包含模块并调用对象属性。
除此之外,解决方案中的代码非常拥挤,我建议将其分解以提高可读性。似乎它的写作风格增加了混乱。
推荐阅读
- python - 使用python分离DBSCAN中每个集群的坐标(3D坐标)
- java - 有没有办法在 Linux 上用 Java 原子地写入文件?
- excel - 如何在此 excel 案例中添加单元格引用?
- regex - How do I match a Column that has a Value with a Column that has a range when ranges have multiple steps
- php - 如何将过滤器添加到结果集中?
- c++ - 使用 CMake 和 Boost 单元测试进行编译
- javascript - 如何找到具有数据属性和 ID 的元素?
- api - 您如何让 API 识别 DOCUSIGN 上的“模板 ID”。我正在放置模板,但它是空白的
- node.js - 如何将对象数组保存到猫鼬数据库中
- angularjs - AngularJS 添加 - 从 ng-repeat 列表中删除类