толкая объект в массив объектов

1

я хочу отправить полученные результаты, являющиеся строковым результатом, в мой объект массива

Вот мой код:

  arrayObject.push({ type: "type", item: itemArray });

  arrayObject.forEach((elementItem) => {
    global.forEach((element) => {
      const { items } = element;
      for (const item in items) {
        const title = items[item].title;
        elementItem.item.push({ title });
      }
    });
  });

И вот мой файл JSON, который я извлекаю из глобальных элементов и заголовков

  global: [
    {
      items: {
        xxx: {
          title: 'result1',
        }
      },
    }
 ]

Результат, который я хочу, выглядит следующим образом:

[ { type: 'xxx', item: [ {name: result1 } ] } ]
  • 6
    что является глобальным? что такое collectionObject?
  • 0
    @JosefKatič JosefKatič такие же результаты
Показать ещё 8 комментариев
Теги:

1 ответ

0
Лучший ответ

Здесь я использовал Reduce и object.values, чтобы получить ожидаемый результат.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

const global = [{
    way: 'type1',
    items: {
      get: {
        title: 'result1',
      },
      post: {
        title: 'result2',
      },
      put: {
        title: 'result3',
      },
    },
  },
  {
    way: 'type2',
    items: {
      get: {
        title: 'test1',
      },
      post: {
        title: 'test2',
      },
      put: {
        title: 'test3',
      },
    },
  },
]

function mapJsonToTypes(arr) {
  const typeAndTitles = (acc, {items, way: type}) => {
    return [...acc, {type, item: getTitlesFromItems(items)}]
  }

  return arr.reduce(typeAndTitles, []);
}

function getTitlesFromItems(items = {}) {
  return Object.values(items).map(({ title }) => title)
}



console.log(mapJsonToTypes(global));
  • 1
    спасибо, это сработало для меня
  • 0
    офигенно что нравится если бы это помогло :) хорошего дня.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню