@Bersonazh

Как передать в функцию объект и получить его уже с данными?

Добрый день! Сижу тренируюсь и возник такой вопрос, а как мне мне получить заполненный объект из функции №2 ? при том, что создаю я его пустым в функции №1.
$(function(){
        $('.start').click(function(){ //это имитация кнопки отправки формы
            var obj = {}; // создаю объект
            getData(obj); // передаю его в функцию вместе с параметрами отправки формы
            console.log(obj); //  выдает пустой результат {}
        })
    })
function getData(obj){ 
        var items = [1,2,3]; // якобы тут я буду что-то принимать от ajax-а
        var result = 4;
        obj = { // затем я хочу записать то, что принял в объект, который передал в эту функцию
          items : items,
          result : result
        };
        return obj; // и таким образом я хочу, чтобы он был видимый в первой функции с новыми полями
    }
  • Вопрос задан
  • 57 просмотров
Решения вопроса 2
@h88p
Pre-Junior HTML Developer
Конечно выдает пустой результат, ведь вы выводите в консоль пустой obj, который ранее создали. Перезапишите этот объект и выводите
$('.start').click(function(){
            var obj = {};
            obj = getData(obj);
            console.log(obj);
        })

function getData(obj){ 
        var items = [1,2,3];
        var result = 4;
        obj = {
          items,
          result
        };
        return obj;
    }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kova1ev
я бы немного упростил код:

$('.start').click(function() {
            const data = getData();
            console.log(data);
        })


function getData() { 
        const items = [1,2,3];
        let result = 4;
        return { items, result };
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Александрия Москва
от 200 000 до 250 000 руб.
Foodtronics Москва
от 100 000 до 200 000 руб.
Алгоритмика Москва
от 120 000 до 200 000 руб.
21 авг. 2019, в 00:43
500 руб./за проект
21 авг. 2019, в 00:14
1000 руб./за проект