有没有办法比较不同数组之间的字符串?

时间:2019-04-16 10:18:27

标签: javascript arrays d3.js

我目前正在使用一种数据可视化工具来可视化国际贸易数据。我将交易数据存入一个csv中,并将其与d3.js一起放入nested_data数组中,但是某些商品名称过长,并以'...'开头,如下所示:

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.Title与nested_data中的字符串匹配,则用SITCArray.Description替换该字符串。这可能吗?我不知道。

1 个答案:

答案 0 :(得分:0)

您可以遍历SITCArray,并destructure遍历标题和描述。如果“标题”与嵌套数组中的字符串匹配,则使用“描述”更新该字符串。

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);