Size: a a a

2020 March 10

t

th.witness in pro.js
Volodymyr Igorevich
Спасибо
a.forEach(item => {
 item.cities.forEach(({ name, country }) => {
   if (!countries[country.name]) countries[country.name] = {};
   countries[country.name][name] = [item];
 });
});
источник

VI

Volodymyr Igorevich in pro.js
th.witness
a.forEach(item => {
 item.cities.forEach(({ name, country }) => {
   if (!countries[country.name]) countries[country.name] = {};
   countries[country.name][name] = [item];
 });
});
выходит так что в этом случае оно не правильно работает, смотри у меня есть 2 элементы у которых город Kiev встречается.

А на выходе у нас только Kiev у которого один элемент
источник

t

th.witness in pro.js
Volodymyr Igorevich
выходит так что в этом случае оно не правильно работает, смотри у меня есть 2 элементы у которых город Kiev встречается.

А на выходе у нас только Kiev у которого один элемент
a.forEach(item => {
 item.cities.forEach(({ name, country }) => {
   if (!countries[country.name]) countries[country.name] = {};
   if (!countries[country.name][name]) countries[country.name][name] = [];
   countries[country.name][name].push(item)
 });
});
источник

VI

Volodymyr Igorevich in pro.js
th.witness
a.forEach(item => {
 item.cities.forEach(({ name, country }) => {
   if (!countries[country.name]) countries[country.name] = {};
   if (!countries[country.name][name]) countries[country.name][name] = [];
   countries[country.name][name].push(item)
 });
});
о боже спасибо….
источник

t

th.witness in pro.js
Volodymyr Igorevich
о боже спасибо….
Не за что.
источник

t

th.witness in pro.js
Volodymyr Igorevich
о боже спасибо….
Кстати, как тебе такой вариант?

const checkOutOfCountryExistence = country => countries[country.name] ? '' : countries[country.name] = {};

function addCityToCorrespondingCountry({name, country}) {
 checkOutOfCountryExistence(country)
 countries[country.name][name] = [];
}

a.forEach({cities} => cities.forEach(addCityToCorrespondingCountry));
источник

VI

Volodymyr Igorevich in pro.js
th.witness
Кстати, как тебе такой вариант?

const checkOutOfCountryExistence = country => countries[country.name] ? '' : countries[country.name] = {};

function addCityToCorrespondingCountry({name, country}) {
 checkOutOfCountryExistence(country)
 countries[country.name][name] = [];
}

a.forEach({cities} => cities.forEach(addCityToCorrespondingCountry));
вот так ты завернул ))))
источник

VI

Volodymyr Igorevich in pro.js
Этот вариант мне не особо понятен, сейчас покурю его, спасибо большое
источник

t

th.witness in pro.js
Volodymyr Igorevich
Этот вариант мне не особо понятен, сейчас покурю его, спасибо большое
Я хотел сделать понятнее :c
источник

R

Ruslan in pro.js
Кто что посоветовал бы если бы только только начал изучать javascript???
источник

VI

Volodymyr Igorevich in pro.js
th.witness
Я хотел сделать понятнее :c
та у меня проблема есть, я плохо умею работать с такими вложенностями, я путаюсь сразу (

Поэтому и хочу посмотреть/разобраться )))

Но тебе большое спасибо ты очень помог.
источник

t

th.witness in pro.js
Volodymyr Igorevich
та у меня проблема есть, я плохо умею работать с такими вложенностями, я путаюсь сразу (

Поэтому и хочу посмотреть/разобраться )))

Но тебе большое спасибо ты очень помог.
Попробуй просто пройтись снизу вверх.
источник

VI

Volodymyr Igorevich in pro.js
th.witness
Попробуй просто пройтись снизу вверх.
подскажи пожалуйста, я вот еще хочу вывести допустим общее значение, сколько у меня в каждой стране откртых вакансий, это я могу сделать если выведу сумму по всем городам,

я это реализовал вот так

return Object.entries(a).map(el => Object.entries(el[1]).reduce((acc, val) => {
   return acc + val[1].length;
}, 0));


ты сможешь подсказать как бы упростить ?
источник

RU

Roman Usherenko in pro.js
Volodymyr Igorevich
подскажи пожалуйста, я вот еще хочу вывести допустим общее значение, сколько у меня в каждой стране откртых вакансий, это я могу сделать если выведу сумму по всем городам,

я это реализовал вот так

return Object.entries(a).map(el => Object.entries(el[1]).reduce((acc, val) => {
   return acc + val[1].length;
}, 0));


ты сможешь подсказать как бы упростить ?
как минимум entries на values заменить, ты ведь ключи не используешь
источник

VI

Volodymyr Igorevich in pro.js
Roman Usherenko
как минимум entries на values заменить, ты ведь ключи не используешь
блин… точно, спасибо )
источник

RU

Roman Usherenko in pro.js
Volodymyr Igorevich
блин… точно, спасибо )
ну вообще очень тяжеловесный код, вынеси в отдельную функцию и покрой тестами
источник

DE

Denis Efremov in pro.js
Volodymyr Igorevich
подскажи пожалуйста, я вот еще хочу вывести допустим общее значение, сколько у меня в каждой стране откртых вакансий, это я могу сделать если выведу сумму по всем городам,

я это реализовал вот так

return Object.entries(a).map(el => Object.entries(el[1]).reduce((acc, val) => {
   return acc + val[1].length;
}, 0));


ты сможешь подсказать как бы упростить ?
Можешь написать так, чтобы все понимали что происходит?
источник

VI

Volodymyr Igorevich in pro.js
Denis Efremov
Можешь написать так, чтобы все понимали что происходит?
return Object.values(a).map(el => Object.values(el).reduce((acc, val) => {
   return acc + val.length;
}, 0));


Тут из того что мне надо вернуть и с чем работать без пол литра не разберешься ))))
источник

MK

Maxim Koylo in pro.js
Volodymyr Igorevich
return Object.values(a).map(el => Object.values(el).reduce((acc, val) => {
   return acc + val.length;
}, 0));


Тут из того что мне надо вернуть и с чем работать без пол литра не разберешься ))))
Покажи входные данные и то что должно быть на выходе
источник

VI

Volodymyr Igorevich in pro.js
Maxim Koylo
Покажи входные данные и то что должно быть на выходе
входные данные такие.

 
{
  Ukraine: {
    Kiev: 102,
    Odessa: 56
},
Poland: {
    Krakov: 3
}
}


Но то что я написал работает.

Мне надо просто получить сумму из всех городов для конкретной страны
источник