#javascript #arrays #d3.js
#javascript #массивы #d3.js
Вопрос:
В настоящее время я работаю над инструментом визуализации данных, который визуализирует данные о международной торговле. У меня есть торговые данные в одном csv, которые я помещаю в массив nested_data с помощью d3.js , однако некоторые названия товаров слишком длинные и сокращаются на «…», например:
Afghanistan,"2012","2 Grondstoffen niet eetbaar behalve...","Invoerwaarde","mln euro","."
В другом массиве (SITCArray) У меня есть как сокращенное имя, так и полное имя следующим образом:
let SITCArray = [
{
"A018540": {
"Title": "2 Grondstoffen, niet eetbaar, behalve...",
"Description": "2 Grondstoffen, niet eetbaar, behalve brandstoffen"
},
Что я хотел бы сделать, так это перебирать оба массива и если SITCArray .Заголовок соответствует строке в nested_data, замените эту строку на SITCArray .Описание. Возможно ли это? Я не могу понять это.
Ответ №1:
Вы можете выполнить итерацию по SITCArray и деструктурировать заголовок и описание. Если заголовок совпадает со строкой во вложенном массиве, обновите эту строку описанием.
const nested = ['Afghanistan', '2012', '2 Grondstoffen, niet eetbaar, behalve...', 'Invoerwaarde', 'mln euro', '.'];
const SITCArray = [{'A018540': {'Title': '2 Grondstoffen, niet eetbaar, behalve...', 'Description': '2 Grondstoffen, niet eetbaar, behalve brandstoffen'}}];
const arr = SITCArray.forEach(obj => {
const key = Object.keys(obj);
const { Title, Description } = obj[key];
const index = nested.findIndex(el => el === Title);
if (index) nested[index] = Description;
});
console.log(nested);
Комментарии:
1. Моя цель — обновить вложенный const, чтобы ‘2 Grondstoffen, niet eetbaar, behalve …’ был обновлен до ‘2 Grondstoffen, niet eetbaar, behalve brandstoffen’. Ваше решение регистрирует SITCArray, где заголовок был изменен на Описание.
2. Отредактировано: этого должно хватить. @MartFijten