forEach的含义(JavaScript中的函数(标记)

Raj*_*r S 1 javascript couchdb

我在CouchDB书中遇到了以下代码片段.

function(doc) {
  doc.tags && doc.tags.forEach(function(tag) {
    emit(tag, 1);
  });
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释函数(标签)部分是如何工作的吗?

感谢致敬,

拉吉

bob*_*nce 9

这称为匿名内联函数表达式.它会创建一个函数并为您提供一个引用,类似于您编写的:

function emitTag(tag) {
    emit(tag, 1);
}
doc.tags && doc.tags.forEach(emitTag);
Run Code Online (Sandbox Code Playgroud)

array.forEach方法array按顺序为每个项调用给定函数一次.它是ECMAScript第五版中的标准方法,已经在许多浏览器中使用了一段时间,但不是JScript(IE).我猜想couchdb会为你解决这个问题.