Ответы пользователя по тегу JavaScript
  • Как правильно распарсить такой массив со строками?

    @krakaka
    Да можно в принципе и в лоб написать функцию ) Регулярные выражения трудно поддерживать, а код ведь надо максимально понятным держать. Минус решения в лоб в том, что есть завязка конкретно на такой формат данных, и если что-то в них поменяется - надо будет менять и функцию, но с другой стороны регулярное выражение тоже надо будет править, так что..

    const parseArrayOfLines = (arrayOfLines) => {
      const result = {};
      
      try {
        arrayOfLines.forEach((line) => {
          const lineTokens = line.split(' ');
          const equalsPosition = lineTokens.indexOf('=');
          const isValidLine = equalsPosition !== -1;
      
          if (!isValidLine) {
            return;
          }
      
          const keyPosition = equalsPosition - 1;
          const valuePosition = equalsPosition + 1;
      
          result[lineTokens[keyPosition]] = lineTokens[valuePosition];
        });
      } catch (error) {
        //
      } finally {
        return result;
      }
    };
    Ответ написан
    Комментировать