У меня есть функция, которая, когда я нажимаю на область карты, возвращает график с данными, взятыми из константы.
Моя константа:
const Processi =
[
{
"": 0,
"ANNO_DI_AVVIO": 2010,
"PROCESSI_BONDENO": "1",
"PROCESSI_CAMPOSANTO": "2",
"PROCESSI_CAVEZZO": "3",
"PROCESSI_CENTO": ""
},
{
"": 1,
"ANNO_DI_AVVIO": 2011,
"PROCESSI_BONDENO": "",
"PROCESSI_CAMPOSANTO": "",
"PROCESSI_CAVEZZO": "",
"PROCESSI_CENTO": ""
},
{
"": 2,
"ANNO_DI_AVVIO": 2012,
"PROCESSI_BONDENO": "",
"PROCESSI_CAMPOSANTO": "",
"PROCESSI_CAVEZZO": "",
"PROCESSI_CENTO": ""} ...and so on
название области только частично совпадает с ключами, поэтому внутри моей функции щелчка по карте у меня есть это, чтобы заставить его работать:
const findValues = (key) => {
key = key.toUpperCase();
return Object.keys(Processi[0]).filter(item => item.indexOf(key) !=-1)
}
let clicked = e.target.feature.properties.NOME_COM.toUpperCase();
let match = findValues(clicked)
Но когда я хочу отобразить его на графике, результат нет данных. Я хотел бы иметь массив с числами, чтобы, если я нажму на область на карте «BONDENO», я получу: [1, 0, 0]. Но ничего не отображается, так как строка, которую я включаю в часть данных на моем графике, выглядит так:
match.forEach(key =>Processi[0][key])
Пока этот код работает, если я хочу добавить некоторый текст, содержащий свойства (например, match.forEach(key =>$("#writehere").append('ok' + Processi[0][key])
. Кроме того, я хотел бы, чтобы все индексы были включены, но если он не работает с одним, он не будет работать с другими. Что мне не хватает?