marlsun 2022-11-03 09:08 采纳率: 84.2%
浏览 110
已结题

echarts 桑基图dataLinks的自定义方法


let arr1 = [{ type: "t1", chr: "多躲大定夺" }];
let arr2 = [
  { type: "t2", chr: "多躲大打弟" },
  { type: "d2", chr: "定夺洞" },
];

let arr3 = [
  {source: "t1", target: "t2", value: 3},
  {source: "t1", target: "d2", value: 2}
]

想从arr1和arr2实现arr3。
根据chr属性值:
当arr1的 chr值与arr2[0]中chr相同时,为source赋值't1", target赋值"t2", 并根据相同的数量赋值value;
当arr1的 chr值与arr2[1]中chr相同时,为source赋值't1", target赋值"d2",并根据相同的数量赋值value;

  • 写回答

6条回答 默认 最新

  • 游一游走一走 2022-11-03 09:31
    关注
    let arr1 = [{type: "t1", chr: "多躲大定夺"}];
    let arr2 = [
        {type: "t2", chr: "多躲大打弟"},
        {type: "d2", chr: "定夺洞"},
    ];
    
    let arr3 = [
        {source: "t1", target: "t2", value: 3},
        {source: "t1", target: "d2", value: 2}
    ]
    
    /**
     * 计算相似度的函数需要你来实现了,目前的悬赏额度我写不出完美的,所以写死了
     * @param str1
     * @param str2
     * @returns {number}
     */
    function test(str1, str2) {
        let char1 = str1.split('');
        let char2 = str2.split('');
        let count = 0;
        for (let i = 0; i < char1.length; i++) {
            for (let j = 0; j < char2.length; j++) {
                if (char1[i] == char2[j]) {
                    count++
                }
            }
        }
        return count;
    }
    
    let result = arr2.map(item => {
        let filter = arr1.map(subItem => ({
            ...subItem,
            value: test(subItem.chr, item.chr)
        })).filter(subItem => subItem.value > 0);
        filter = filter[0] || {value: 0}
        return ({
            source: filter.type,
            target: item.type,
            value: filter.value
        })
    }).filter(item => item.value > 0);
    
    console.log(result)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 已采纳回答 11月3日
  • 创建了问题 11月3日

悬赏问题

  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!