数组去重、深拷贝、身份证正则

1.用es5与es6分别封装一个数组去重的方法

es5:

var arr = [5,5,2,1,2,4,4];
function quchong(arr){
var brr =[] ,
    obj ={} ;
for(var i=0; i<arr.length;i++){
	if(!obj[arr[i]]){
	  obj[arr[i]]=true;
	  brr.push(arr[i])
}
}
return (brr);
}

es6中使用new Set()去重
问题:同值不同类型,不能去除

var set = new Set(arr);
console.log(set);
2.封装一个对象深拷贝的方法
var people = {
     name:'xxx',
        friends:['people1','people2','peopple3'],
        info:{
              phone:'133xxxxxxxx',
              age:'18',
              sex:'man'
        }   
}
function deepCopy(p, c) {
  var c = c || {};
    for (var i in p) {
      if (typeof p[i] === 'object') {
        c[i] = (p[i].constructor === Array) ? [] : {};
        deepCopy(p[i], c[i]);
      } else {
         c[i] = p[i];
      }
    }
    return c;
  }
var person = deepCopy(people);
3.身份证的正则表达式
var reg1 = /^\d{17}[X\d]$/;// \d{17}表示数字重复17次,[X\d]$表示以数字或X结束
var str1 = '13070619830407031X' ;
console.log( reg1.test(str1) )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值