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

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


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

最佳答案

您可以使用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

关于javascript - 内联JavaScript函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55261738/

10-11 13:40