第一组数据是按 Project 展示,而转换后的数据是按 Month 进行展示。

const transferArrayStructure = function (arr, detail, title, name) {
  let nArr = arr.map(item => {
    return item[detail].map(value => {
      value.tempName = item[title]
      return value
  let obj = {}
  nArr.map(item => {
    item.map(i => {
      let key = i[name]
      obj[key] = (key in obj) ? obj[key] : []
      i[name] = i.tempName
      delete i.tempName
      obj[key].push(i)
  let dataList = []
  Object.keys(obj).map(item => {
    let o = {}
    o[title] = item
    o[detail] = obj[item]
    dataList.push(o)
  return dataList
// 最近接触到map方法,发现是一个极好用到方法,便用map代替了原本到forEach或者for...in操作。
// map方法操作到数组中到元素如果是一个引用值到话,并对其进行修改到话是会影响到原数组到。
// 判断对象是否有某个属性  
                    因项目需求,有一组数据需要前段自己进行转换。原数据格式为`var projectArr = [  {    title: '万景成',    detail: [      {        name: '2018-10',        a: 100,        b: 200      },      {        name: '2018-09',        ...
let txt='[{"sender":"tuser1","agentid":"155889886","ip":"*"},
          {"sender
				
JavaScript类型化数组是一种类似数组的对象,并提供了一种用于访问原始二进制数据的机制。 Array 存储的对象能动态增多和减少,并且可以存储任何JavaScript值。JavaScript引擎会做一些内部优化,以便对数组的操作可以很快。 一般而言,类型化数组通常会与WebGL一起使用,在使用WebGL的时候,ArrayBuffer无处不在。浏览器通过WebGL和显卡进行通信,它们之间会发生大量的、实时的数据交互,对性能的要求特别高,它们之间的数据通信必须是二进制的才能满足性能要求,而不能是传统的.
const arr = [1, 2, 2, 3, 3, 4, 5]; const uniqueArr = Array.from(new Set(arr)); console.log(uniqueArr); // [1, 2, 3, 4, 5] 2. 使用 filter 方法去重 使用 filter 方法可以对数组中的每个元素进行过滤,返回一个新的数组。 const arr = [1, 2, 2, 3, 3, 4, 5]; const uniqueArr = arr.filter((item, index, arr) => { return arr.indexOf(item) === index; console.log(uniqueArr); // [1, 2, 3, 4, 5] 3. 使用 reduce 方法去重 reduce 方法可以将数组中的每个元素聚合成一个值,我们可以利用 reduce 方法去重。 const arr = [1, 2, 2, 3, 3, 4, 5]; const uniqueArr = arr.reduce((prev, cur) => { if (prev.indexOf(cur) === -1) { prev.push(cur); return prev; }, []); console.log(uniqueArr); // [1, 2, 3, 4, 5] 以上三种方法都可以实现 JavaScript 数组去重。