@zwezew

Как правильно сделать return из рекурсивного перебора объекта?

ссылка

Как правильно сделать здесь return, чтобы вернуло найденные значения?

function getProp(o) {
   for(var prop in o) {
      if(typeof(o[prop]) === 'object') {
         getProp(o[prop]);         
      } else {
         //return o[prop];
         console.log(o[prop]);
      }
   }
}
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const getPrimitiveProps = (obj) =>
  Object.entries(obj).reduce((acc, [ k, v ]) => ({
    ...acc,
    ...(v instanceof Object ? getPrimitiveProps(v) : { [k]: v }),
  }), {});

или

const getPrimitiveProps = (obj) =>
  Object.assign({}, ...Object.entries(obj).map(([ k, v ]) =>
    v instanceof Object ? getPrimitiveProps(v) : { [k]: v }
  ));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
function getProp(o) {
    var result = [];
    for(var prop in o) {
        if(typeof(o[prop]) === 'object') {
            result = result.concat(getProp(o[prop]));
        }
    }
    return result;
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 30 000 до 65 000 руб.
BSSL Москва
от 50 000 до 150 000 руб.
от 60 000 до 90 000 руб.
22 июл. 2019, в 08:24
100000 руб./за проект
22 июл. 2019, в 07:20
3000 руб./за проект
22 июл. 2019, в 07:13
150000 руб./за проект