使用Java脚本将hastable结果转换为字符串

时间:2019-03-08 20:41:06

标签: javascript arrays vb.net hashtable

我得到的结果是:

EMailLabel: "Mailing address"
LogLabel: "User login"
LoginButton: "Enter the program"

为了通过将结果分成几对来操作此结果,我需要使用以下命令将其转换为字符串:

 function parse(str, separator) {
       var parsed = {};
       var pairs = 
       str.toString().split(separator);
       for (var i = 0, len = pairs.length, keyVal; i < len; ++i) {
       keyVal = pairs[i].split("=");
       if (keyVal[0]) {
       parsed[keyVal[0]] = keyVal[1];
    }
}
return parsed;

} 但是在说明中:

str.toString().split(separator);

返回值:

{[object Object]: undefined}

什么也不会变成字符串。
如果我使用相同的指令:

str.split(separator);

向我抛出了以下错误:

Uncaught TypeError: str.split is not a function

从网上搜索的结果中,我看到我必须将str的结果Hashtable转换为字符串。
我做到了,但不幸的是没有成功
在这个问题上有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

看起来您需要这样的东西:

function parse(map, separator) {
   return Object.keys(map).reduce((data, key) => {
     data.push(`${key}${separator} "${map[key]}"`);
     return data;
   }, []).join('\n');
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals