Как вернуть несколько значений из функции в JavaScript?

Возврат нескольких значений из функции JavaScript

Привет всем! Работаю над проектом и столкнулся с проблемой. Мне нужно из одной функции вернуть сразу два разных значения, но не знаю как это правильно сделать в JavaScript.

Вот мой текущий код:

var processData = function() {
    var firstResult = app.dataProcessor.output;
    var secondResult = app.dataProcessor2.output;
    return firstResult, secondResult;
};

Подскажите пожалуйста, возможно ли такое в принципе? Если да, то как правильно это реализовать? Может есть какие-то стандартные подходы для решения такой задачи? Буду очень благодарен за помощь и примеры кода!

Объекты удобнее массивов, особенно с большим количеством значений. Не нужно помнить, какой индекс что означает:

var processData = function() {
    return {
        first: app.dataProcessor.output,
        second: app.dataProcessor2.output
    };
};

Используешь так: var result = processData(); console.log(result.first, result.second); Сразу видно что к чему, и новые поля добавить проще.

Проще всего вернуть массив с двумя элементами. У тебя ошибка с оператором запятая - он работает не так, как ты думаешь. Попробуй так:

var processData = function() {
    var firstResult = app.dataProcessor.output;
    var secondResult = app.dataProcessor2.output;
    return [firstResult, secondResult];
};

Потом берешь значения: var results = processData(); var first = results[0]; var second = results[1];

Постоянно так делаю в проектах - работает отлично и код читаемый.

Если твоя среда поддерживает ES6, используй деструктуризацию. Возвращай массив как в первом ответе, потом сразу распаковывай: const [first, second] = processData(); Удобно, особенно когда таких функций много.