Показать сообщение отдельно
  #4 (permalink)  
Старый 13.04.2022, 12:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

hdma,
что не так?
<script>
        let results = [{
            value: 'b||||g|c'
        }, {
            value: 'm|f|c||a'
        }];
        let postProcess = function(results) {
            let x = results.reduce(function(map, entry) {
                    let newItems = entry.value.split('|');
                    return map.concat(newItems);
                }, [])
                .filter((e, i, arr) => arr.indexOf(e) === i && e.length)
                .sort(function(a, b) {
                    var nameA = a;
                    var nameB = b;
                    if (nameA < nameB) {
                        return -1; // сначала nameA
                    }
                    if (nameA > nameB) {
                        return 1; // сначала nameB
                    }
                    return 0; // они одинаковые
                })

                .map((e, i, arr) => ({
                    text: e,
                    value: ['e', 'contains', e]
                }));

            return x;
        };

        let temp = postProcess(results);

        document.write(`<pre>${JSON.stringify(temp, "", 1)}</pre>`)
    </script>
Ответить с цитированием