Javascript return нескольких значений

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

Функция не может возвращать несколько значений. Однако вы можете получить аналогичные результаты, вернув массив, содержащий несколько значений. Давайте посмотрим на следующий пример:

  

В качестве альтернативы вы также можете вернуть объект, если хотите пометить каждое из возвращаемых значений для облегчения доступа, как показано в следующем примере:

  

etxt banner 480x320 skillbox banner 480x320 jivo banner 480x320

Читайте также

Похожие примеры:

Источник

JavaScript How to Return Multiple Values? [Examples & Theory]

The easiest way to return multiple values in JavaScript is by returning an array of multiple elements.

Then, you can access the returned values like this:

let values = getVals() let first = values[0] let second = values[1]

If you were looking for a quick answer, then there you have it! But to write clean code, the above isn’t always the best way to return two values. Instead, you can return “labeled” values by returning an object.

This guide teaches you how to return multiple values in JavaScript in a couple of ways.

Returning Multiple Values in JavaScript

In JavaScript, you have probably written a bunch of functions that return a single value. For instance:

But what if you want to write a function that returns multiple values.

Solution 1: Return Multiple Values in an Array

A naive yet simple way to return multiple values is by returning the values in an array.

Читайте также:  Pwpnet pl index php ru

For example, let’s create a function that returns the sum and the product of two numbers:

Now, when you call this function, you need to store the returned array into a variable and then access the two values.

let results = sumMul(2, 5) let sum = results[0] let mul = results[1] console.log(sum, mul)

Also, thanks to the latest updates in JavaScript (ECMAScript 6), you can restructure the return value more intuitively.

So instead of storing the returned value into a variable and then one by one picking the values from it, you can use shorthand. Here is how:

let [sum, mul] = sumMul(2, 5) console.log(sum, mul)

This code looks already more understandable.

But there is another way to return multiple values, which is even more intuitive and maintainable.

Solution 2: Return Multiple Values in an Object

Instead of returning the values in an array, you can place them inside an object and label the values. This makes it easier and more intuitive to access.

Let’s re-write the sumMul function in the previous example to employ this strategy:

If you now call this function, there is a more intuitive way to access the returned values:

let result = sumMul(2, 5) let sum = result.sum let mul = result.mul console.log(sum, mul)

As you can see, now you can reference the return values by their name. This makes the code more readable and less error-prone. Now it’s harder to accidentally mess up with the values as they are labeled clearly.

Wrap Up

Today you learned how to return multiple values from a function in JavaScript.

To recap, there are two ways to do it:

  • Return an array of multiple values. This is the most obvious and straightforward way. However, it lacks readability as you need to refer to the returned values by index.
  • Return an object with “labeled” values. This approach requires slightly more code but is the most reliable. By labeling the return values, it’s hard to mess things up. This is because you can refer to the returned values by their names.
Читайте также:  Php json encode example

Источник

Возврат нескольких значений из метода в JavaScript

В этом посте мы обсудим, как вернуть несколько значений из метода в JavaScript.

1. Вернуть массив

Идея состоит в том, чтобы упаковать возвращаемые значения внутри массива и вернуть этот массив из метода. В следующем примере кода показано, как это реализовать:

В следующем коде используется присваивание деструктуризации распаковывать значения из массивов в соответствующие переменные.

2. Вернуть объект

Другой подход состоит в том, чтобы упаковать возвращаемые значения внутри объекта с соответствующими метками и вернуть объект из метода. В следующем примере кода показано, как это реализовать:

Код можно упростить, используя присваивание деструктуризации:

Это все о возврате нескольких значений из метода в JavaScript.

Средний рейтинг 5 /5. Подсчет голосов: 22

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Источник

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

Представим себе такую задачу. Мы хотим передавать в функцию одно число. Внутри тела функции мы хотим получить: сначала результат сложения этого числа с числом 10 , а потом хотим получить результат умножения этого числа на число 3 . Как это сделать в JavaScript?

В чём может быть трудность возвращения нескольких результатов из функции на JavaScript?

Новички, могут (до решения этой задачи) изучить примеры с работой «оператора внезапного завершения функции«, который называется return .

Они могут иметь опыт возвращения какого-то одного значения из тела функции, но не знают как вернуть несколько результатов. Новичку это не очевидно.

Что может попытаться сделать человек?

Видео на тему

Вариант написания функции при помощи двух операторов return

Новичок может подумать: «Может вместо одного оператора return записать два? Первый вернёт результат сложения, а второй вернёт результат умножения». Чтож, звучит логично.

Читайте также:  Python четные индексы строки

И он приступает к написанию:

function my_f(num)< return num + 10 return num * 3 >

Такая запись имеет место быть. Функция будет объявлена без ошибок. Среда выполнения кода её примет без проблем.

Теперь давайте вызовем эту функцию с числом 5 .

Новичку не очевидно какой из операторов return сработал в JavaScript

Что мы видим? Нам вернулось одно число вместо двух. Это означает, что такой способ написания функции нам не подходит.

Более того. Новичок может запутаться в итоговом результате. Число 15 — это какое из двух операторов return ? Из первого с « num + 10″? Или из второго с « num * 3″?

О том как работает синтаксис оператора return — это отдельная тема.

Теперь давайте вызовем эту функцию с числом 2 , чтобы убедиться, что отрабатывает только первый оператор return из двух последовательных.

С параметром 2 стало понятнее какой из двух return сработал в функции на JavaScript

Передаём 2 , а получаем 12 . Значит отрабатывает только первый оператор return из двух последовательных, разделённых через точку с запятой.

Вариант написания функции при помощи одного оператора return , но через запятую в блоке выражения

Вторым по популярности вариантом написания может быть один оператор return с несколькими запятыми в производстве выражения.

function my_f(num)< return num + 10, num * 3 >

Такой вариант функции тоже вполне себе жизнеспособный. Только на этот раз нам вернётся результат умножения на 3 .

Новичку не очевидно что выражение в return может иметь запятые - JavaScript

Сложение будет проигнорировано.

Так как же нам научить функцию возвращать два числовых значения?

Использование структур данных — массив или объект в JavaScript, чтобы возвращать из функции несколько значений

Для возврата нескольких значений из функции нужно использовать массивы или объекты.

Массивы имеют чёткую последовательность элементов, но у самих элементов нет человеко-понятных наименований. Вместо слов массивы используют числа — положения данных в самом массиве.

Объекты могут иметь имена в своих свойствах, а значит данные могут быть более понятными. Но порядок имён не гарантируется.

Что выбрать? Зависит от задачи. Но мы покажем два варианта написания такой функции:

// Вариант с массивом function my_f(num)< return [num+10, num*3] > // Вариант с объектом function my_f(num)< return addition: num+10, multiplication: num*3> >

А теперь попробуем сделать вызовы:

Источник

Оцените статью