javascript - 将 JavaScript ES6 函数转换为 ES3

标签 javascript arrays ecmascript-6

我有一个数组,我使用 EcmaScript-6 函数成功地将其转换为字符串格式。但是,如何使用 EcmaScript-3 执行此操作?接收端点需要 ES3 函数。

原始数组:

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"}
]

要求的字符串格式

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 的工作解决方案:

let res = formdata.map(({name,value,focus,type}) => `${name}.${type}|${value}|${focus}`).join(';')

我对转换为 ES3 的看法:

var res = formdata.map(({name,value,focus,type}) { 
  ("name" + "." + "type" + "|" + "value" + "focus").join(;)
}

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

谢谢!

最佳答案

您尝试使用 ES3 的问题:

  • 箭头函数少了箭头,但也是对语法的 ES6 补充
  • .join(;) 不是有效的 JavaScript。 .join(";") 是。
  • ES6 中引入了解构语法
  • .map 是在 ES5 中引入的
  • 你还需要一个“|”

所以:

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);

关于javascript - 将 JavaScript ES6 函数转换为 ES3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55508261/

相关文章:

javascript - 加载页面时删除组合框中的值

javascript - Sequelize 在结果对象中混合了 Camel 大小写和蛇形大小写键

javascript - 如何使用 css 和基于当前宽度创建进度条

java - 傅立叶变换字节数组

javascript - execCommand ('copy' ) 在 OS X 上的 Chrome 上失败

javascript - 如何使用 es6 (reactjs) 通过索引在项目列表中查找对象

javascript - 在 Javascript 中将对象转换为包含多个对象的数组的理想方法是什么? (允许 ES6)

javascript - 可能使用按钮从 Textarea 粘贴到另一个 textarea 输入? |查询

ios - 保持 TableView 之间的数组顺序?

go - 解码字节数组: index out of range