• Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    Alex Smile, Нда... очень надеюсь, что вы пошутили! Alex, там ответ был в одной строчке. Что вы пишете, вам рассказать? ))) Расскажу, на примере задачи - "пойти за хлебушком"
    Ваша версия):
    1) Определить и расписать на бумаге, все хлебные магазины.
    2) Определить ближайшие.
    3) Выявить, в каком из ближайших есть любимый хлеб
    Если он в нескольких магазинах - тогда учитываем другой параметр, а именно, где очередь меньше.

    Вот, что вы написали. Хотя задача в другом)
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F,
    Вы лжёте. Вопрос был как сделать - было показано как, никаких замечаний по поводу корректности результатов работы представленного кода от вас не последовало.

    Тот самый случай, когда лучше промолчать)) Взгляните ещё раз на вопрос. Там был весь код изложен. Я попросил несколько раз вас помочь мне с моим кодом, а не вашим.
    А вот и решение:
    const data = {
      user: 'ubuntu',
      hosts: {
        0: {
          name: 'web1',
        },
        1: {
          name: 'web2',
          null: 3,
        },
      },
    };
    
    const getIn = (obj, arr) => {
      let result = obj;
      
      if(arr.length == 0){
        return false;
      }
      for (const item of arr){
        if(result.hasOwnProperty(item)){
           result = result[item];        
        }   
      }
        return result;
    }
    
    getIn(data, ['hosts', 1, 'name']); // 'web2'
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    Moon Presence,
    Я вас оскорблял? Нет.
    Не нет а Да! Вы обвинили меня в наглости, вступившись за человека, которую эту самую наглость и проявил!
    Вы ненавидите таких как я?
    С чего вы взяли? Где я написал, что я вас ненавижу!?
    "Люди с гордыней и мнением, что они лучшие," -

    Опять мимо, я вообще не такой. Это вы в куратора 0xD34F угодили))
    "Если у вас хватает знаний, делитесь ими и помогайте другим."

    Так и делаю! Всегда, когда что-то знаю - делюсь с людьми. Это нормально для меня!
    Удачи
    Спасибо! Не обижайтесь! Я не хотел вас задевать. Но ваше обвинение, вывело из себя. Мне куратора до вас хватило!
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    Moon Presence, вы серьёзно, или у вас блять с башкой проблемы? Вы хоть комментарии прочитайте, прежде чем ляпать языком. Терпеть не могу подобных вам людей!
    Я поблагодарил человека за решение. Сказал спасибо, несмотря на то, что решение никак не отвечало прямо на мой вопрос. Объяснил в следующем комментарии, что мне нужно и для чего, цитирую:
    "нет! Дело не в том, что не могу прочитать документацию, а в том, что я следую чётко по курсу. Я учусь по нему. И если нам необходимо сделать это без reduce, то мы должны научиться это делать сначала без reduce. Конечно, это тяжелее. Но если человек чему-то хочет научиться, то он должен сначала научиться писать код без дополнительных методов, которые облегчают работу, оказывая медвежью услугу тому, кто учиться! Необходимо научиться писать императивным подходом. До декларативного мы всегда успеем дойти!
    P.S. Скоро дойдём и до reduce) "
    B ответ на это, услышал оскорбления в свои адрес про секту и так далее
    Что не так я сказал? Или может, я недостаточно низко поклонился!? Думайте головой, прежде чем пишите. И не лезьте в чужой разговор!
    P.S. а ответ быть в одной строчке: result = result[item];
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    "Ну да, не всё. Всего год - большая разница. " )))) ахахаххахахахха) Слушай, как тебя взяли куратором? У тебя с логикой просто огромные проблемы, это просто туши свет... И смех и грех. Мне тебя жаль, честно! Ну ладно, сам ответ поищу, раз у тебя другого варианта решение нет.
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, А вы не подумали, что я просто не занимался js всё это время? Нет конечно, куда вам подумать о таких "сложных" вещах. Вы же самый "умный".
    Бросайте своё дело! Ничего с вас не выйдет!
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, Вы можете бросать, если хотите. Судя по ответам, это явно не ваше! А я не брошу! ... И курсы я прохожу не 2 года, а два месяца.
    Только не в коем случае не идите работать с людьми, скажем продавцом! А то попросят у вас хлеба, а вы человеку муку дадите, и будете ещё доказывать, что ему именно это надо)
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, Я ещё раз русским язык объясняю! Не проходили ещё reduce! Что здесь не ясного!? А по поводу обнаглевшего ..., так это именно ВЫ! Поскольку вам просто банально лень немного напрячь голову и реально подумать, как эту задачу решить БЕЗ reduce!!! А вместо этого, вы тратите время на непонятный спор и оскорбления. Я просто в шоке. Простой вопрос задал и столько вони!
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, хорошо, спрошу по другому!
    Как склеить переменную obj, в которой лежит объект, с массивами ['hosts'], [1] и ['null']
    чтобы получилось эта цепочка: data['hosts'][1]['null'];
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, Ну какая ещё секта? Я для кого столько писал и объяснял выше?
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, Запрещено использовать reduce! Просто запрещено! Можно ли как-то исправить доработать мой код?
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    Алексей, Не понимаю, что вы не понимаете? Я дал код и спросил, что здесь не так? Почему не получается цепочка?
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    0xD34F, нет! Дело не в том, что не могу прочитать документацию, а в том, что я следую чётко по курсу. Я учусь по нему. И если нам необходимо сделать это без reduce, то мы должны научиться это делать сначала без reduce. Конечно, это тяжелее. Но если человек чему-то хочет научиться, то он должен сначала научиться писать код без дополнительных методов, которые облегчают работу, оказывая медвежью услугу тому, кто учиться! Необходимо научиться писать императивным подходом. До декларативного мы всегда успеем дойти!
    P.S. Скоро дойдём и до reduce)
  • Как достать значение из вложенных объектов, имея массив ключей?

    @Alex_87 Автор вопроса
    Благодарю за решение! reduce пока не проходили, нужно своими силами решить. Подскажите, что можно изменить в моём коде?

    const getIn = (obj, arr) => {
      let result = {};
      let current;
      let some;
    
      if(arr.length == 0){
        return false;
      }
      for (item of arr){
        current = [item];
            console.log(current);
        // if(obj.hasOwnProperty(item)){
          result += current;   
          // console.log(result); 
        // }   
      }
        return result;
    }
    
    getIn(data, ['hosts', 1, 'name']); // 'web2'
  • Функция в качестве параметра?

    @Alex_87 Автор вопроса
    twobomb,
    А так понятнее? Я просто ошибся и ниже не поменял и не написал вместо названия, саму функцию
    function flip((a, b) => a - b)) { 
      return function(a, b) {   
        return (a, b) => a - b)(b, a); // результата 
      }
    }
  • Функция в качестве параметра?

    @Alex_87 Автор вопроса
    Владимир, Мне очень не понятно ваша логика. С чего вы взяли, что я не знаю, что такое стрелочная функция(я могу преобразовать её в старый синтаксис), что я не знаю замыкание(я знаю, как функция видит a и b).
    3) "...и почему мы тоже возвращаем функцию а не ее результат)" - поясните, что вы имеете ввиду?
    4) "Передача параметров по ссылке и по значению" - это по моему вообще никак не может помочь в данном, конкретном вопросе
    5) "Отличие анонимных функций от именованных" - эта часть к этой - "чтобы понять почему нельзя вернуть function(a,b) а function(a,b){} - можно)" - не имеет никакой связки!

    Мой вопрос, был в другом! Я не могу понять, что происходит здесь:
    return function(a, b) {   
        return sourceFunction(b, a); // результата 
      }

    1) Почему мы не можем убрать первую, анонимную функцию отсюда?
    2) Почему, без неё, возникает ошибка что b не определена?
    И я понял, что в анонимной функции, определяются a и b. Что действительно, во время вызова, они уже должны быть известны. Что не возможно без объявление анонимной функции, их увидеть

    P.S. Но за ссылки, спасибо! Я возьму на вооружение данную книгу(первую) Вы её читали, как я понял? Она даёт прочную основу? Есть практика?
  • Функция в качестве параметра?

    @Alex_87 Автор вопроса
    twobomb, Понимаете, я просто ставлю, вместо sub, в уме, эту дуру (a, b) => a - b; в код, то есть в аргументы функции flip и не знаю, что происходит? Как это всё работает?
    function flip((a, b) => a - b) { 
      return function(a, b) {   
        return sourceFunction(b, a); // результата 
      }
    }
  • Функция в качестве параметра?

    @Alex_87 Автор вопроса
    twobomb, Согласен!!! Я просто ошибся в коде. В этом пункте:
    "2) В чём разница, между этим: return function(a, b) {} и этим return function(a, b) кодом? "
    Правильнее было бы так:
    2) В чём разница, между этим: return function(a, b) {} и этим return имя_функции(a, b) кодом?
  • Функция в качестве параметра?

    @Alex_87 Автор вопроса
    twobomb, Согласен! Вопроса только два
    1) почему это считается return function(a, b) { определением a и b?
    2) В чём разница, между этим: return function(a, b) {} и этим return function(a, b) кодом? Всё дело в этих скобках {} ? Второе(return function(a, b)) я понимаю! Здесь мы возвращаем результат функции. То есть, вызываем функцию и возвращаем результат. А в случае, если мы ставим скобки, что происходит?
  • Функция в качестве параметра?

    @Alex_87 Автор вопроса
    var a = 15;
    var b = 5;
    var flip = function(f) {
                     return f(b,a);//тут они видны потому что мы их объявили, ну опять же тут вернуться только результат, число , а не сама функция
             }


    Тут они видны по замыканию!