У меня есть строка, поступающая с сервера:
//A
123|155-244
- Первые цифры всегда означают "Красный"
- Число после
|
всегда означает "зеленый" - Число после
-
всегда означает "синий"
Проблема здесь в том, что зеленый и синий могут возвращаться в любом порядке:
//B
123-244|155
Или они могут отсутствовать полностью:
//C
123|155
Мне нужна функция, которая возвращает один массив/объект, чтобы упростить задачу:
//A
var result = {red:"123", green:"155", blue:"244"}
//B
var result = {red:"123", green:"155", blue:"244"}
//C
var result = {red:"123", green:"155", blue:"0"}
Я пробовал две функции: один, чтобы получить зеленый и другой синий, но я понял, что не работает должным образом в зависимости от порядка, который они появляются в строке.
var getGreen = function(myvar){
return myvar.split('-');
};
var getBlue = function(myvar){
return myvar.split('|');
};
Выполнение этого иногда приводит к тому, что мой объект выглядит следующим образом:
var result = {red:"123", green:"155", blue:"244|155"}
Как мне следует продолжить?