我需要帮助解决这个javascript挑战

我需要帮助解决这个javascript挑战,javascript,Javascript,在这个挑战中,我必须使用箭头函数语法来计算正整数的平方。十进制数在数组realNumberArray中不是整数,并将新数组存储在变量平方整数中。 我的代码到目前为止 const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2]; const squareList = (arr) => { "use strict"; realNumberArray.filter((arr) => arr !

在这个挑战中,我必须使用箭头函数语法来计算正整数的平方。十进制数在数组realNumberArray中不是整数,并将新数组存储在变量平方整数中。

我的代码到目前为止

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];    
const squareList = (arr) => {    
  "use strict";    
  realNumberArray.filter((arr) => arr !== null && parseInt())    
  const squaredIntegers = arr;   
  return squaredIntegers;    
};    

const squaredIntegers = squareList(realNumberArray);    
console.log(squaredIntegers);

您可以采取三个步骤:

仅使用Number.isInteger筛选整数。 只过滤正值。 映射平方值。 常数isPositive=v=>v>0; 常量squareList=arr=>{ 严格使用; 返回实数数组 .filterNumber.isInteger .FilterSpositive .mapv=>v*v; }; 常量realNumberArray=[4,5.6,-9.8,3.14,42,6,8.34,-2]; 常数squaredIntegers=squareListrealNumberArray; console.logsquaredinteger 函数parseInt不检查数字是否为整数;如果适用,它将字符串转换为整数

要检查数字是否为整数,可以使用number.isInteger

在下面的代码片段中,我们将过滤掉非整数和负值,然后使用带有箭头函数的map计算所有剩余元素的平方

常量realNumberArray=[4,5.6,-9.8,3.14,42,6,8.34,-2]; 常量squareList=arr=>{ 严格使用; //从传递的数组中删除小数 arr=arr.filterelem=>Number.isIntegerelem&&elem>=0; //计算平方 var squaredIntegers=arr.mapelem=>elem*elem; 返回平方整数; }; 常数squaredIntegers=squareListrealNumberArray;
console.logsquaredinteger;你认为parseInt做什么?过滤器返回一个新数组,您对它不做任何操作。。。。
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;
    };

// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers)