ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

舆情分析平台问题总结

2021-03-10 14:01:22  阅读:175  来源: 互联网

标签:总结 map arr title 平台 item newArry let 舆情


舆情分析平台问题总结

去重求交集

原始数据格式

channel_info = {
    '微信':
    {
        '用户类型': ['乘客', '司机'],
        '地区': ['杭州'],
        '性别':['男','女']
    },
   '微博':
       {
        '用户类型': ['乘客', '司机'],
           '地区': ['上海', '北京','杭州'],
       },
   '车主圈':
       {
           '用户类型': ['乘客', '司机'],
           '地区': ['杭州', '上海', '北京']
       },
   '慢车':
       {
           '用户类型': ['司机'],
           '地区': ['杭州', '上海', '北京'],
           '评论类型':['好评','坏评']
       },
}

目标数据格式

//取数据的交集
channel_list:['微信','微博','车主圈','慢车'];
field_list:{
 '用户类型': ['司机'],
 '地区': ['杭州'],
}

方法

const channel_list = Object.keys(channel_info);

const resData = channel_list.map(key => {
        return Object.keys(channel_info[key]).map(item => ({
            	title: item,
            	content: channel_info[key][item]
          		})),
      		});
/*
resData = [
		[
		{title:'用户类型',content:['乘客', '司机']},
		...
		],
	,
	...
]
*/

交集和并集

arr:[[{},{},{}],[{},{}],[{},{}]]
  //数组交集
  arrayRepeatfy = (arr) => {

    let newArry = new Array(); // 数组⽤于返回结果

    if (arr.length > 0) {
      let titleArr = new Array();
      let contentArr = new Array();
      let intersectionTitle = new Array();
      let intersectionCon = new Array();
      for (let i = 0, leni = arr.length; i < leni; i++) {
        let temp = []
        for (let j = 0, lenj = arr[i].length; j < lenj; j++) {
          temp.push(arr[i][j].title);
        }
        titleArr[i] = temp;
      }

      intersectionTitle = titleArr[0];
      if (arr.length == 1) {
        arr[0].map(item => {
          newArry.push({ title: item.title, content: item.content });
        })
      } else {
        for (let i = 0, leni = titleArr.length; i < leni; i++) {
          intersectionTitle = titleArr[i].filter(function (val) { return intersectionTitle.includes(val) })//获取title的交集
        }
        intersectionTitle.map(item => {
          newArry.push({ title: item, content: [] });
        });

        for (let i = 0; i < newArry.length; i++) {
          contentArr.push([])
          for (let j = 0, lenj = arr.length; j < lenj; j++) {
            arr[j].map((item) => {
              if (newArry[i].title === item.title) {
                contentArr[i].push(item.content);
              }
            });
          }

          contentArr.map((itemArr, i) => {
            intersectionCon = itemArr[0];
            itemArr.map(item => {
              intersectionCon = item.filter(function (val) { return intersectionCon.includes(val) });
            });
            newArry[i].content = intersectionCon;

          })
        }
      }
    }
    return newArry
  }

  //数组并集
  arrayNonRepeatfy = (arr) => {
    let map = new Map();
    let newArry = new Array(); // 数组⽤于返回结果
    for (let i = 0; i < arr.length; i++) {
      if (map.has(arr[i].title)) { // 如果有该key值
        map.set(arr[i].title, true);
      } else {
        map.set(arr[i].title, false); // 如果没有该key值
        newArry.push({ title: arr[i].title, content: [] });
      }
    }

    for (let i = 0; i < newArry.length; i++) {
      arr.map((item) => {
        if (newArry[i].title === item.title) {
          let temp = newArry[i].content.concat(item.content);
          newArry[i].content = [...new Set(temp)]; //去重
        }
      })
    }
    return newArry
  }

ANTD table

展开列不对齐

ant-design Table组件错位/对不齐
react使用antd table组件固定表头后,表头和表体列不对齐以及配置fixed固定左右侧后行高度不对齐

设置单元格背景

antd table oncell 设置单元格背景

更新数据未渲染页面

React的Table组件在更新dataSource时,未重新渲染页面

轮询 长连接 推送

长连接
前端和后台进行WebSocket长连接和axios轮询的方法(vue框架)

标签:总结,map,arr,title,平台,item,newArry,let,舆情
来源: https://blog.csdn.net/chuoye_sweet_tea/article/details/114076176

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有