相关疑难解决方法(0)

为什么Array.prototype.every在空数组上返回true?

[].every(i => i instanceof Node) // -> true
Run Code Online (Sandbox Code Playgroud)

为什么当数组为空时,JavaScript中数组上的每个方法都返回true.我正在尝试做类似的断言,就像这样......

const isT = (val, str) => typeof val === str
const nT = (val, str) => !isT(val, str)
const is = {}

is.Undef = (...args) => args.every(o => isT(o, 'undefined'))
is.Def = (...args) => args.every(o => nT(o, 'undefined'))
is.Null = (...args) => args.every(o => o === null)
is.Node = (...args) => args.every(o => o instanceof Node)
is.NodeList = (...args) => args.every(n => n instanceof NodeList)
Run Code Online (Sandbox Code Playgroud)

但即使没有传递任何参数,这些仍然会返回true.

javascript arrays methods

14
推荐指数
3
解决办法
3212
查看次数

标签 统计

arrays ×1

javascript ×1

methods ×1