【问题标题】:Is there a way to compare strings between different arrays?有没有办法比较不同数组之间的字符串?
【发布时间】:2019-09-06 10:02:11
【问题描述】:

我目前正在开发一种可视化国际贸易数据的数据可视化工具。我有一个 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。这可能吗?我想不通。

【问题讨论】:

    标签: javascript arrays d3.js


    【解决方案1】:

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

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

    【讨论】:

    • 我的目标是更新 const 嵌套,以便 '2 Grondstoffen, niet eetbaar, behalve...' 更新为 '2 Grondstoffen, niet eetbaar, behalve Brandstoffen'。您的解决方案记录 SITCArray,其中 Title 已更改为 Description。
    • 已编辑:应该这样做。 @MartFijten
    猜你喜欢
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多