内联JavaScript函数

时间:2019-03-20 13:21:37

标签: javascript

此处的一般JavaScript问题。 (在我看来,这不是一个容易查询的问题,所以我想我会在这里向人类提出这个问题,如果它被标记为重复,那就可以了。在我编写此函数时,我突然意识到,必须有一种不依赖于临时变量的方式来编写此函数。

const isHex = num => {
  let result = true;
  [...num].map(n => { if (isNaN(parseInt(n,16))) result = false; });
  return result;
};

您如何内联这样的函数并摆脱result?我觉得这可能是我的JavaScript知识上的空白,我很想知道答案。也许这很痛苦,这是一个愚蠢的问题。 Idk。

2 个答案:

答案 0 :(得分:2)

您可以使用Array#every并早点回来。

const isHex = num => [...num].every(n => !isNaN(parseInt(n, 16)));
    
console.log(isHex('1a')); // true
console.log(isHex('1#')); // false

Array#some相同。

const isHex = num => ![...num].some(n => isNaN(parseInt(n, 16)));
    
console.log(isHex('1a')); // true
console.log(isHex('1#')); // false

答案 1 :(得分:0)

您可以这样写

isHex = num => (!![...num].filter(n => (isNaN(parseInt(n, 16)))).length);