将ES6 JavaScript转换为ES5格式

时间:2019-02-08 00:17:15

标签: javascript json

在其他问题中也有一个代码段,但是如何将其转换为ES5格式。

尝试从JSON数组中获取数据。

const match = (query, input) => input.filter((entry) => Object.entries(query).every(([k, v]) => entry[k] === v));

3 个答案:

答案 0 :(得分:0)

您可以通过babel运行ES6以获得ES5

https://babeljs.io/

您可以设置构建步骤,以便可以在ES6中进行开发,并向下移植到适用于旧版浏览器的ES5。

答案 1 :(得分:0)

逐步进行操作,让我们从ES5开始更进一步格式化:

const match = (query, input) => {
  return input.filter((entry) => {
    return Object.entries(query).every(([k, v]) => {
      return entry[k] === v;
    });
  });
};

删除ES6特定的语法可以使我们:

function match(query, input) {
  return input.filter(function(entry) {
    return Object.entries(query).every(function(kv) {
      return entry[kv.k] === kv.v;
    });
  });
}

最后,我们需要删除对Object.entries()的调用:

function match(query, input) {
  return input.filter(function(entry) {
    return Object.keys(query).every(function(key) {
      return entry[key] === query[key];
    });
  });
}

答案 2 :(得分:0)

var match = function match(query, input) {
  return input.filter(function (entry) {
    return Object.entries(query).every(function (ref) {
      var k = ref[0],
          v = ref[1];
      return entry[k] === v;
    });
  });
};