@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; // и таким образом я хочу, чтобы он был видимый в первой функции с новыми полями
    }
  • Вопрос задан
  • 64 просмотра
Решения вопроса 2
@StockholmSyndrome
obj.items = items; 
obj.result = result;
Ответ написан
Комментировать
@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 };
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы