我有一个工作的EcmaScript-3函数,它将数组转换成特定的字符串格式。
阵列:
ft: [
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"}
]特定字符串格式:
ft=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将数组转换为特定字符串格式的工作函数:
var arr = [];
for (var i = 0; i < ft.length; i++) {
var elem = ft[i];
arr.push(elem.name + "." + elem.type + "|" + elem.value + "|" + elem.focus);
}
var str = arr.join(";");
console.log(str);问题:
我需要一个函数(以EcmaScript-3格式),可以这样调用:
var a = tracking()(ft, false);
console.log(a);
// the console.log(a) should provide as a result: ft=gender.radio|F|0;firstName.text|...; false;我的解决方案(不起作用)
function tracking() {
return function (ft, submitted) {
var arr = [];
for (var i = 0; i < ft.length; i++) {
var elem = ft[i];
arr.push(elem.name + "." + elem.type + "|" + elem.value + "|" +
elem.focus + "submitted");
}
var str = arr.join(";");
}
}谢谢!
发布于 2019-04-04 10:15:55
看来你把事情搞得太复杂了。这件事可以这么简单
function tracking (ft, submitted) {
var arr = [];
for (var i = 0; i < ft.length; i++) {
var elem = ft[i];
arr.push(elem.name + "." + elem.type + "|" + elem.value + "|" +
elem.focus + "submitted");
}
return arr.join(";");
}我也不知道你为什么会收到那封信。如果要将其用作变量,只需删除引号,同时将其推送到数组中即可。
https://stackoverflow.com/questions/55513301
复制相似问题