Объединение двух объектов в JavaScript?

У меня есть два файла JSON.

один выглядит так:

    {
base: "EUR",
date: "2019-01-30",

rates: {

    USD: 1.1429,
    AND MORE....
    ...
    ...

}
}

и еще один, который выглядит так:

{
results: {
USD: {
    currencyName: "United States Dollar",
    currencySymbol: "$",
    id: "USD"
}
}

Я хочу объединить их вместе и получить объект, который выглядит так:

{
results: {
USD: {
    currencyName: "United States Dollar",
    currencySymbol: "$",
    id: "USD",
    value: 1.1429   <====== the change
}
}

ничего похожего здесь не нашел... и понятия не имею, как начать

Я получаю значения из этих ссылок:

https://free.currencyconverterapi.com/api/v6/currencies

https://api.exchangeratesapi.io/последний

с функцией извлечения:

function getdataFromApiAsync() {
  return fetch('https://api.exchangeratesapi.io/latest')
    .then((response) => response.json())
    .then((responseJson) => {
      return responseJson.rates;
    })
    .catch((error) => {
      console.error(error);
    });
}

как обрабатывать эти случаи «И БОЛЬШЕ ...»?

messerbill 30.01.2019 18:10

поэтому вам нужно перебрать один и добавить его к другому.... будут циклы....

epascarello 30.01.2019 18:12

@messerbill да.

Dor Lugasi-Gal 30.01.2019 18:13

То, что вы опубликовали как «JSON», вообще не является JSON. Не существует такого понятия, как «объект JSON».

Randy Casburn 30.01.2019 18:13

@RandyCasburn прочитайте вопрос и код. есть функция ".json()".

Dor Lugasi-Gal 30.01.2019 18:17

Это: У меня есть два файла JSON. один выглядит так: :: Ни один из следующих блоков кода не содержит JSON.

Randy Casburn 30.01.2019 18:18

@RandyCasburn это действительно не главное. вместо обсуждения семантики. вы можете попробовать помочь с функцией :)

Dor Lugasi-Gal 30.01.2019 18:19

Как указывает epascarello - переберите один и добавьте его к другому. Удачи вам.

Randy Casburn 30.01.2019 18:21
stackoverflow.com/questions/171251/…
Fahad Abid 30.01.2019 18:22
jsfiddle.net/ydp5n9fx хотите что-то подобное?
Sarmad Shah 30.01.2019 18:22

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

Sarmad Shah 30.01.2019 18:23

Возможно, вы захотите взглянуть на использование оператора распространения, если он у вас есть.

Bardicer 30.01.2019 18:26

Было бы полезно, если бы вы предоставили И БОЛЬШЕ... кейсов

Sarmad Shah 30.01.2019 18:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
13
83
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что ваш объект результатов имеет примерно такой интерфейс:

{
  [key: string]: {
    currencyName: string;
    currencySymbol: string;
    id: string;
    value?: number;
  }
}

где id здесь всегда соответствует ключу объекта rates, тогда вы, вероятно, захотите пройтись по values этого объекта результатов и добавить значение из ставок другого объекта, например:

Object.values(results).forEach(result => {
  const value = rates[result.id];
  if (value) {
    result.value = value;
  }
});

Другие вопросы по теме