Итак, моя проблема в том, что я пытаюсь сгруппировать массив контактов по «округу». Моя единственная проблема в том, что моя функция группировки работает ... не совсем. Если вы запустите мой код, вы увидите, что он группируется, как и ожидалось; Моя единственная проблема в том, что Вашингтон, Флорида и Вашингтон, штат Алабама, - это два разных округа, которые не следует объединять. Я знаю, что могу попытаться добавить дополнительную информацию в округе, чтобы сделать ее уникальной, например: Washington, FL & Washington, AL. Это, вероятно, решит проблему, но потребует, чтобы я изменил свой набор данных или написал другую функцию поиска для кодов состояний.
Так что есть способ, которым я могу просто убедиться, что мои группы функций по уникальным округам основаны на каждом данные, которые он имеет в руках на каждом объекте (например, государство)?
Спасибо за вашу помощь.
function groupBy(array, key) {
return array.reduce((r, a) => {
;(r[a[String(key)]] = r[a[String(key)]] || []).push(a)
return r
}, {})
}
const contacts = [
{
County: 'Washington',
State: 'Florida',
Country: 'United States',
Name: 'Bob Michael',
},
{
County: 'Washington',
State: 'Alabama',
Country: 'United States',
Name: 'John Doe',
},
]
console.log(groupBy(contacts, "County"))