javascript - 将 JavaScript for 循环集成到自定义函数中

标签 javascript arrays string function ecmascript-6

我有一个有效的 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(";");
  }
}

谢谢!

最佳答案

看来你把事情搞得太复杂了。这可以像这样简单

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(";");
}

我怀疑你为什么收到提交的参数。如果您希望它用作变量,只需在将其推送到数组时删除引号

关于javascript - 将 JavaScript for 循环集成到自定义函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55513301/

相关文章:

javascript - 针对特定浏览器从网站内禁用 JS

javascript - 需要为日历创建自定义导航标题

javascript - 对具有两个以上状态的数组进行排序

c# - VB.NET 在新行上拆分(C# 转换)

c++ - 为什么 does//in a string 不在 C++ 中开始注释?

javascript - HTML5 Canvas 图像过滤器滞后 (JavaScript)

Javascript 函数 toString

c - 如何在C中使用线程和数组

javascript - 高效查找多个字符串并设置其样式

java - 如何在 Java 中递增/递减一个 unicode 字符串?