首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JavaScript ES6函数转换为ES3

将JavaScript ES6函数转换为ES3
EN

Stack Overflow用户
提问于 2019-04-04 05:08:31
回答 1查看 2.2K关注 0票数 3

我有一个数组,成功地转换成带有EcmaScript-6函数的字符串格式。但是,我如何使用EcmaScript-3来完成这个任务呢?接收端点需要一个ES3函数。

原始数组:

代码语言:javascript
复制
formdata: [
    1: {name: "gender", value: "F", focus: 0, type: "radio"}
    2: {name: "firstname", value: "empty", focus: 0, type: "text"}
    3: {name: "lastname", value: "empty", focus: 0, type: "text"}
    4: {name: "birthday", value: "empty", focus: 0, type: "text"}
    5: {name: "street", value: "empty", focus: 0, type: "text"}
    6: {name: "streetNo", value: "empty", focus: 0, type: "text"}
]

必需的字符串格式

代码语言:javascript
复制
let formdata = gender.radio|F|0;firstName.text|empty|1;lastName.text|empty|0;street.text|empty|0;houseNumber.text|empty|0;zip.text|empty|0;city.text|empty|0;country.select-one|de|0;birthdate-day.text|empty|0;birthdate-month.text|empty|0;birthdate-year.text|empty|0;email.email|empty|0;code.text|filled_out|0

我的工作解决方案与ES6:

代码语言:javascript
复制
let res = formdata.map(({name,value,focus,type}) => `${name}.${type}|${value}|${focus}`).join(';')

关于转换为ES3:的看法

代码语言:javascript
复制
var res = formdata.map(({name,value,focus,type}) { 
  ("name" + "." + "type" + "|" + "value" + "focus").join(;)
}

这个解决方案显然不起作用,而且我也不确定它是否有效的ES3 JavaScript。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-04 05:32:04

ES3尝试中的问题:

  • 箭头函数缺少箭头,但也是语法中的一个ES6添加项。
  • .join(;)是无效的JavaScript。.join(";")是。
  • 在ES6中引入了析构语法
  • .map是在ES5中引入的
  • 你需要再来一次“”

所以:

代码语言:javascript
复制
var formdata = [{name: "gender", value: "F", focus: 0, type: "radio"},{name: "firstname", value: "empty", focus: 0, type: "text"},{name: "lastname", value: "empty", focus: 0, type: "text"},    {name: "birthday", value: "empty", focus: 0, type: "text"},{name: "street", value: "empty", focus: 0, type: "text"},{name: "streetNo", value: "empty", focus: 0, type: "text"},];

var arr = [];
for (var i = 0; i < formdata.length; i++) {
    var elem = formdata[i];
    arr.push(elem.name + "." + elem.type + "|" + elem.value + "|" + elem.focus);
}
var str = arr.join(";");

console.log(str);

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55508261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档