JS 方法

目录

操作数组

过滤数组

 取两个数组的交集,并集,补集,差集

 替换某一项

 取某几位元素

数组每项都转为字符串或数字

 数组去重

操作对象数组

对象数组项内合并 

深拷贝 

通过属性值查找对应对象

通过属性值查对象的index

取某属性集合

 对象数组去重

操作字符串

slice

 转换大小写

 转换数字

 截取前i个

判断数据是空数组或空对象

对象取key数组或value数组

 信息加密

url编码解码 

去除地址栏url的参数

字符串生成txt 

正则 

是否含中文 


操作数组

过滤数组

//过滤空项
data=data.filter(d=>d)

//过滤含有某字符串的
arr = arr.filter(d => d.indexOf(str) == -1)

//过滤对象数组
//过滤掉id=str的项 
arr.filter(v => {
          return v.id != str
        });

 取两个数组的交集,并集,补集,差集

// 交集 两个数组都有
arr1.filter(function (val) { return arr2.indexOf(val) > -1 })

// 并集 两个数组只要一个拥有就可以
arr1.concat(arr2.filter(function (val) { return !(arr1.indexOf(val) > -1) }))

// 补集 两个数组各自没有的集合
arr1.filter(function (val) { return !(arr2.indexOf(val) > -1) })
.concat(arr2.filter(function (val) { return !(arr1.indexOf(val) > -1) }))

// 差集 数组arr1相对于arr2所没有的
arr1.filter(function (val) { return arr2.indexOf(val) === -1 })

 替换某一项

array.splice(index,howmany,element)
//index 替换第几个
//howmany 替换几个
//element 用于替换的元素(可以是多个)

 取某几位元素

array.slice(0,3)
//取1-4位

数组每项都转为字符串或数字

//转换为字符串
array.map(String) 

//转换为数字
array.map(Number)

 数组去重

//unique(list)
unique(arr) {
      return Array.from(new Set(arr))
    },

操作对象数组

对象数组项内合并 

let arr= (arr1 || []).map((item, index) => {
            return { ...item, ...arr2[index] }
          })

深拷贝 

let arr1=[{a:1,b:5},{a:3,b:2}]
const _ = require('lodash');
let arr2= _.cloneDeep(arr1)

通过属性值查找对应对象

//仅查找第一个,返回查找到的对象
list.find(item => item.value == e.cllx)
//遍历查找,返回查找到的对象组成的数组
list.filter(item => item.value == e.cllx)

通过属性值查对象的index

index=list.findIndex(item=>item.value==this.value)

取某属性集合

list.map(item => item.value)

 对象数组去重

//[{a:1,id:1},{a:1,id:2},{a:2,id:1},{a:2,id:2}]
//uniqueArr(list,'id')
 uniqueArr(arr, id) {
     return arr.filter((item, index) => {
        return arr.findIndex(i => i[id] == item[id]) === index;
      })
    }
//[{a:1,id:1},{a:1,id:2}]


操作字符串

slice

//截取最后几位  
str.slice(-2)
//截掉前几位  
str.slice(2)

 转换大小写

//转换大写 
str.toUpperCase()
//转换小写 
str.toLowerCase()

 转换数字

//转换整数
parseInt(str)
//转换浮点数
parseFloat(str)

 截取前i个

str.substring(0,i)

判断数据是空数组或空对象

var arr
//判断是否空数组
arr.length===0
//判断是否空对象
Object.keys(arr).length===0
//不确定数据是对象或数组,判断不为[]或{}
arr.length||Object.keys(arr).length


对象取key数组或value数组

var arr={a:1,b:2}
Object.keys(arr) // ['a','b']
Object.values(arr) //[1, 2]


 信息加密

btoa(encodeURI(str))//加密
decodeURI(atob(str))//解密


url编码解码 

decodeURIComponent(str)//解码
encodeURIComponent(str)//编码

去除地址栏url的参数

 var url = window.location.href; //获取当前页面的url
            if (url.indexOf("?") != -1) { //判断是否存在参数
                url = url.replace(/(\?|#)[^'"]*/, ''); //去除参数
                window.history.pushState({}, 0, url);
            }

字符串生成txt 

res='hhhhh'
let blob = new Blob([res])
                let url = window.URL.createObjectURL(blob)
                let a = document.createElement('a')
                a.href = url
                a.download =`${ row.title }_${ new Date().getTime() }.txt`
                a.click()

正则 

是否含中文 

new RegExp("[\u4E00-\u9FA5]+").test(res.data.license)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值