Как в функцию передать результаты другой функции без использования глобальных переменных?
Например, нужно передать все 4 результата первой функции во вторую, как это сделать?
function findOppositeNumbers (xMax, xMin, yMax, yMin) {
let x1 = 2
let x2 = 10
let y1 = 3
let y2 = 5
xMax = Math.max(x1, x2)
xMin = Math.min(x1, x2)
yMax = Math.max(y1, y2)
yMin = Math.min(y1, y2)
}
function findWidthAndLength (width, length) {
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Чтобы "результат функции" куда-то передать, его надо из функции вернуть.
function findOppositeNumbers (xMax, xMin, yMax, yMin) {
let x1 = 2
let x2 = 10
let y1 = 3
let y2 = 5
xMax = Math.max(x1, x2)
xMin = Math.min(x1, x2)
yMax = Math.max(y1, y2)
yMin = Math.min(y1, y2)
return {xMax, xMin, yMax, yMin};
}
function findWidthAndLength (width, length, bounds) {
console.log(bounds);
}
findWidthAndLength(1, 2, findOppositeNumbers(3, 4, 5, 6));
Автор решения: Qwertiy
→ Ссылка
Надо прямо наоборот - параметры передавать, а результаты - возвращать.
function findOppositeNumbers(x1, x2, y1, y2) {
return {
xMax: Math.max(x1, x2),
xMin: Math.min(x1, x2),
yMax: Math.max(y1, y2),
yMin: Math.min(y1, y2),
}
}
function findWidthAndLength(x1, x2, y1, y2) {
var { xMax, xMin, yMax, yMin } = findOppositeNumbers(x1, x2, y1, y2)
return {
width: xMax - xMin,
height: yMax - yMin,
}
}
~function () {
let x1 = 2
let x2 = 10
let y1 = 3
let y2 = 5
let sizes = findWidthAndLength(x1, x2, y1, y2)
console.log(sizes)
}()
И вообще:
function findWidthAndLength(x1, x2, y1, y2) {
return {
width: Math.abs(x1 - x2),
height: Math.abs(y1 - y2),
}
}
~function () {
let x1 = 2
let x2 = 10
let y1 = 3
let y2 = 5
let sizes = findWidthAndLength(x1, x2, y1, y2)
console.log(sizes)
}()