2

你能解释一下为什么这个语句返回false吗?

_.every([true, 1, null, 'yes'], _.identity); // 错误的

没有null它返回true。所以这个空值就是问题所在。不过_.identity(null) === null真的

该示例来自官方文档 ( http://underscorejs.org/#every )。

4

1 回答 1

5

当且仅当迭代器函数为数组中的每个项目返回一个真实值时,该_.every方法才会返回 true。_.identity只是一个传递,所以_.identity(null)会返回null,这是不真实的。迭代停止并_.every返回false

于 2013-09-06T04:39:23.780 回答