- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
var t = [-12, 57, 22, 12, -120, -3];
t.map(Math.abs).reduce(function(current, previousResult) {
return Math.min(current, previousResult);
}); // returns 3
t.map(Math.abs).reduce(Math.min); // returns NaN
我不明白为什么第二种形式不起作用。欢迎任何解释。
编辑:技术背景:Chrome 和 Firefox JavaScript 引擎。参见 ES5 减少 http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.21
最佳答案
Math.min
接受多个参数。这与它对 parseInt
或其他类似函数不起作用的原因完全相同。需要自己绑定(bind)参数。
reduce 将 index
和 array
等值提供给 Math.min
如果我们遵循以下步骤,我们可以确认这一点:
首先,我们代理 Math.min:
var oldMath = Math.min;
Math.min = function (){
console.log(arguments)
return oldMath.apply(Math, arguments);
}
然后我们运行第二个版本:
[-12, 57, 22, 12, -120, -3].reduce(Math.min);
哪些日志:
[-12, 57, 1, Array[6]]
因为 Array[6] 不是数字,所以结果是 NaN
这是来自 MDN 的一个非常相似的例子:
["1", "2", "3"].map(parseInt);
虽然人们可以期待 [1, 2, 3] 实际结果为[1, NaN, NaN]
parseInt
通常与一个参数一起使用,但需要两个参数。第二个是基数 Array.prototype.map 向回调函数传递 3 个参数:元素、索引、数组 parseInt 会忽略第三个参数,但不会忽略第二个参数,因此可能会造成混淆。
关于JavaScript 映射减少 : weird behavior,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15799005/
我尝试从 PDF 文件复制文本,但得到一些奇怪的字符。奇怪的是,Okular 可以识别文本,但不能识别 Sumatra PDF 或 Adobe,这三个应用程序都安装在 Windows 10 64
有人发现我的这个正则表达式有问题吗?我想要的只是找到任何出现的 并将其替换为用户选择的单词。这个表达式只改变一些出现的情况,当它改变时,它会删除前面的空格,我猜想将它与前面的单词连接起来。而且它也不应
数据带有奇怪的字符,例如 FS – Bronze FS – Gold FS – Silver FS – Wood FS – Bronze FS â€â€
我正在尝试创建一个给定字符串的函数,它会像下面所示那样处理该字符串,并修改结构变量的值。用简单的语言来说,给定一个字符串,它会修改变量的坐标。 typedef struct coo { int
什么意思: GLuint bindingPoint = 1, buffer, blockIndex; 我在一个我需要的教程中找到了这个,我以前从未见过这样的变量初始化。 这行是什么意思 GLuint
我有这个 A / \ B C \ / D A 有一个纯虚函数,原型(prototype)为: virtual A* clone(void) const = 0
我正在处理一个非常简单的问题,涉及设计分支。 请容忍我,而我用模糊的术语描述情况。 我有一个实体,称为 EntityA: EntityA{ attr1 : type1; attr2 : t
这里没什么太严肃的,只是好奇。 我想举个例子,想出了这段代码: const { Observable, Subject } = Rx const timeout$ = new Subject() co
这里没什么太严肃的,只是好奇。 我想举个例子,想出了这段代码: const { Observable, Subject } = Rx const timeout$ = new Subject() co
我在处理集成服务时遇到了一个奇怪的错误。 我的数据流包括: -> DESTINATION SOURCE -> SCRI
我在一个带有 Hibernate 的项目中使用 JPA,并且需要在纯 JDBC 级别上执行一些操作,因此我使用此方法来获取与数据库的连接: public class ConnectionUtil {
我有时会在(MySQL)数据库中看到我不明白其含义的值。这是一个例子: a:26:{i:0;s:2:"22";i:1;s:2:"24";i:2;s:1:"2";i:3;s:2:"26";i:4;s:1
我正在研究 Java 线程,我编写了这个创建多个线程并运行它们的小程序。在每个线程中,一个值会递增多次。我使用了 ThreadLocal 类,这样就不会出现资源争用。 来源: class MyValu
我正在用 C++ 构建一个模拟,我有一个指数生成器来生成进程的突发时间。 通常它会返回这样的值:3.14707,1.04998。但经常有 1/10 的情况出现这样的数字:2.64823e-307 这是
这是一个 fiddle : http://jsfiddle.net/e80fen4p/2/ 编辑:您可以突出显示所有结果 div,您会看到颜色变回它们应有的颜色。我猜这没有解决办法。如果仅通过突出显示
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试一种基于指标的算法,称为 taxicab metric .然后我的目标是创建一个简单的例子,你有一个简单的 3x3 矩阵,在第一个位置你有 1。从中你计算其他位置的距离,如下所示: 1 2
我有以下项目设置 .... ├── lira │ ├── __init__.py │ ├── admin.py │ ├── ajax.py │ ├── authentication.p
如果我有一个正常的网站,这将是一个足够简单的修复...但我已经在 tumblr 上建立了我的网站,所以我需要一个解决方法。每个页面都使用相同的代码,因此任何解决方案脚本都将在每个页面上运行.. 不太明
var t = [-12, 57, 22, 12, -120, -3]; t.map(Math.abs).reduce(function(current, previousResult) {
我是一名优秀的程序员,十分优秀!