重写 Javascript 箭头函数

Rewriting an Javascript Arrow-function

任何人都可以解释并帮助我如何重新编码这个 Javascript 箭头函数吗?

var Data = JSArray.filter(v => v.tags.some(k => k.name === "test"));

我只想将它翻译成 Javascript 默认函数而不是箭头函数。

谢谢!

您可以从

更改 arrow function () => expression
a => a

function (a) {
    return a;
}

一起,你得到

var Data = JSArray.filter(function (v) {
        return v.tags.some(function (k) {
            return k.name === "test";
        });
    });

您可以使用 Babel.js Tryout

轻松完成此操作
"use strict";

var Data = JSArray.filter(function (v) {
  return v.tags.some(function (k) {
    return k.name === "test";
  });
});

有关解释,请参阅 MDN: Arrow functions

这里的 one-liner 非常漂亮,没有箭头函数会变得更冗长。尝试这样的事情:

var Data = [];
for (var i = 0; i < JSArray.length; i++) {
    var e = JSArray[i];
    if (e.tags.some(function(k) {return k.name === "test"})) {
        Data.push(e);
    }
}