@kunjut19

Как создать массив из свойств объекта, которые не являются свойствами другого объекта?

Есть два объекта. Первый объект - это список стран с их столицами и населением.
var countries = {
      japan: {
        capital: 'tokyo',
        popultion: 124776364
      },

      sweden: {
        capital: 'stockholm',
        popultion: 10327589
      },

      germany: {
        capital: 'berlin',
        popultion: 83149300
      },

      .........
      .........
      .........
}


Второй объект - это список уже посещенных пользователем стран с датой визита.
var visited = {
      japan: 2018,
      italy: 2012,
      france: 2019,
      .........
      .........
}


Как создать массив notVisited из названий стран, которые входят в countries, но отсутствуют в visited?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Object.keys(countries).filter(c => !visited.hasOwnProperty(c))

Массив ключей объекта countries фильтруем,
оставляя только те, кого нет как свойства в объекте visited
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@StockholmSyndrome
const visitedCountries = Object.keys(visited);
const notVisited = Object.keys(countries).filter((c) => !visitedCountries.includes(c));
Ответ написан
@andreysuha
Что то знаю
let visitArr = Object.keys(visited);
let noVisit = Object.keys(countries).filter(country => !visitArr.includes(country));
Ответ написан
@turiq
let notVisited = [];
for (let key in countries) {
  if (!visited.hasOwnProperty (key)) {
      notVisited.push(key)
  }
}
Ответ написан
@Karpion
Скопировать первый объект - как есть или в какой форме он нужен. Потом пройтись по копии и выкинуть то, что есть во втором объекте.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
28 нояб. 2020, в 13:56
3000 руб./за проект
28 нояб. 2020, в 09:30
250 руб./за проект