我一直在努力研究如何编写一些逻辑来解决问题,客户希望将整个数据对象传递给单个变量。我已经解决了如何做到这一点,但我是一个非常注意的编码器,因此很难编写代码。
我设法找到了这个代码,它得到了我需要的一半:
for (var prop in mi) {
if (mi.hasOwnProperty(prop)) {
console.log("key: " + prop + " value: " + mi[prop])
}
}
输出:
key: 076 value: value1
key: 072 value: value2
我正在努力做的是每次循环我想要建立一个单一的变量,这是一系列的','单独的值对的字符串。创建以下输出:
var x = "key: 076 value: value1", "key: 072 value: value2";
我不想把它变成单个字符串,因为我需要将逗号分隔的字符串列表传递给一个变量。
答案 0 :(得分:0)
您可以将所有内容放入数组中,然后将其加入“,”:
mi = {
'a': 1,
'b': 2,
'c': 3
}
ar = [];
for (var prop in mi) {
if (mi.hasOwnProperty(prop)) {
ar.push("key: " + prop + " value: " + mi[prop])
}
}
console.log(ar.join(", "));
如果您愿意,可以选择单行:
mi = {
'a': 1,
'b': 2,
'c': 3
}
out = Object.keys(mi).reduce((all, item) => {all.push("key: " + item + " value: " + mi[item]); return all}, []).join(", ");
console.log(out);
答案 1 :(得分:0)
如果要将所有数据保存到变量中,最好的方法是创建一个具有所有必需数据的JSON。
var data1 = ["asdf",1,345,"asdf1qwer56"];
var data2 = "username";
var data3 = 12;
var dataN = new Date();
var allData = {
someVariables : data1,
userName : data2,
someNumber : data3,
userDate: dataN
}
console.log("accessing all the data",allData);
console.log("accessing a specific data",allData.someVariables);
如果您需要将此数据转换为字符串,您也可以使用
JSON.stringify
所以它会将变量转换为字符串,然后您可以使用JSON.parse