前端总结

前端总结

# es6 列表去重
# 方法一 
if (shareMaps[n.eaid].indexOf(`${n.user}`) < 0) {
    shareMaps[n.eaid].push(`${n.user}`)
    }

# 方法二
shareMaps[n.eaid].push(`${n.user}`)
shareMaps[n.eaid] = Array.from(new Set(shareMaps[n.eaid]))

# 列表内的值相加
blanceArr.reduce((a, b) => a + b)

# Vue 中对渲染的数据进行处理
<template v-else>{{ cleanRow(scope.row.balance) }}</template>

cleanRow (scope) {
    if (parseInt(scope).toLocaleString() === 'NaN') {
        return ''
    } else {
        return parseInt(scope).toLocaleString()
    }
  },

# 对 Array 数据的处理,变成列表的形式
this.fundMap = res.reduce(function (map, obj) {
	map[obj.amac_id] = obj
    return map
}, {})

# 解构赋值
... 操作,可以把对象拆开
{...{}} or {...[]}

# 删除字典中的元素
delete dict[key]

# 删除列表中的元素
方法一:delete Arry[index]    # 会删除元素,但是元素的位置还会保存,列表的长度不会变化

方法二:
for (let i = 0; i < otherColumns.length; i++) {
    if (this.otherAddColumns.indexOf(otherColumns[i]) < 0) {
          this.otherAddColumns.push(otherColumns[i])
    } else {
          otherColumns.splice(i, 1)
          i--
        }
     }
# 使用 splice 删除,可以删除位置,会更改列表的长度,如果是有连续两个相同的,第二个在使用 for 循环的时候会直接隔过去,所以最后要使用 i--

# js 数组 map 方法
map 映射,基本用法跟 forEach 方法类似
Array.map(item => {})    # item 就是列表中的每个元素

# Object.keys()
方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致,如果是字典,返回的值是字典中所有的key,如果对象是数组,则返回所有的 index,
Object.keys(Array)
Object.keys(dict)    # 获取字典中所有的key
Object.values(dict)    # 获取字典中所有的value

# js 中判断一个值是不是在列表中
Object.keys(Array) >= 0
            
# js 判断一个值是不是在 字典中
value in this.map
或者  myObj.hasOwnProperty('key')

前端框架总结

# element 
# 取消表格悬浮高亮
tr {pointer-events: none;}

导出csv文件

Download () {
        const datas = [...this.data]
        datas.map(item => {
          delete item['other_add_columns']
          delete item['custodian_update_freq']
        })
    	# exportData 是一个需要导出的数据,如果数据中有不需要导出的数据,需要把数据删除掉
        const exportData = JSON.parse(JSON.stringify(this.data))
        const boolMap = { true: 'yes', false: 'No' }
        exportData.map(d => {
          d.is_fund_alive = boolMap[d.is_fund_alive]
        })
        const header = {
          id: 'id',
          amac_id: 'AMACID',
          fund_name: 'FundName',
          abbr_cn: 'CAbbr',
        }
        exportData.unshift(header)    # 配置表格头
    	# header 传入的是一个列表,Object.keys()获取字典中的所有key值,生成一个列表
    	# skipHeader 是否使用原来的抬头
        const ws = XLSX.utils.json_to_sheet(exportData, {
          header: Object.keys(header), skipHeader: true
        })
        const wb = XLSX.utils.book_new()
        XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')
        XLSX.writeFile(wb, 'Fund.xlsx', { type: 'base64', bookType: 'xlsx' })
      },
原文地址:https://www.cnblogs.com/whkzm/p/14168422.html