преобразование результата из таблицы в строку с помощью Java Script

#javascript #arrays #vb.net #hashtable

#javascript #массивы #vb.net #хэш-таблица

Вопрос:

У меня есть результат типа:

 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. Не могли бы вы уточнить свои «входные» данные и то, что вы ожидаете получить в качестве «вывода», потому что теперь ваша функция parse ожидает строку в качестве входных данных и возвращает хэш-таблицу (map, object). Но в названии вы говорите, что хотите преобразовать из хэш-таблицы в строку.

2. xxxmmm да, вы правы. Мне нужно обратное. заключается в отправке таблицы и получении строки. Любая помощь по этому поводу?

3. Не могли бы вы показать, как должна выглядеть строка

4. У меня это есть в верхней части моего вопроса, как результат хэш-таблицы

Ответ №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

Комментарии:

1. С некоторыми дополнениями это сделало его идеальным. Теперь я могу справиться с этим очень легко. Еще раз спасибо