js 的一些简单方法

两数组比较
let a = [1, 2, 3, 4];
let b = [2, 3, 4, 6, 8, 10];

a.map(x => {
    b = b.filter((val) => {
        return val !== x;
    })
});

console.log(b);		//[ 6, 8, 10 ]
获取当前月份的总天数
function mGetDate(){
     var date = new Date();
     var year = date.getFullYear();
     var month = date.getMonth()+1;
     var d = new Date(year, month, 0);
     return d.getDate();
}
获取时间戳
//获取的时间戳是把毫秒改成000显示
var timestamp =Date.parse(new Date());

//获取了当前毫秒的时间戳
var timestamp =(new Date()).valueOf();
var timestamp=new Date().getTime()
清除或截取数组
let arr1 = [11, 22, 33, 44, 55]
arr1.ength = 3
// arr1 = [11, 22, 33]
数组的参数结构
const csvFileLine = '1997,John Doe,US,john@doe.com,New York';
const { 2: country, 4: state } = csvFileLine.split(',');
// country = US
// state = New York
删除数组中重复的元素
let a = [11, 22, 33, 44 ,11]
let n = [...new Set(a)]
// n =  [11, 22, 33, 44]
JSON 代码变格式化字符串
const obj = {
foo: { bar: [11, 22, 33, 44], baz: { bing: true, boom: 'Hello' } }
};
JSON.stringify(obj, null, 4)
将多维数组降维
const arr2 = [11, [22, 33], [44, 55], 66];
const flatArr = [].concat(...arr2);
// flatArr = [11, 22, 33, 44, 55, 66]  (二维数组)

function flattenArray(arr) {
	const flattened = [].concat(...arr);
	return flattened.some(item => Array.isArray(item)) ?
	flattenArray(flattened) : flattened;
}
const arr = [11, [22, 33], [44, [55, 66, [77, [88]], 99]]];
const flatArr = flattenArray(arr);
//=> [11, 22, 33, 44, 55, 66, 77, 88, 99]

获取字符串字节长度
function getLength(str){
  let realLength = 0
  let length = str.length
  console.log(length)
  for(let i = 0; i < length; i++) {
    console.log(i)
    let charCode = str.charCodeAt(i)
    if (charCode >= 0 && charCode <= 128) {
      realLength += 1
    } else {
      realLength += 2
    }
  }
  return realLength
}
身份证验证
function checkCardNo(cardNo) {
  let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
  return reg.test(cardNo)
}
生成随机字符串
function randomString(len = 8){
  /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
  let $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
  let maxPos = $chars.length
  let pwd = ''
  for (let i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos))
  }
  return pwd
}
匹配中文字符
oldReg=/[\u4e00-\u9fa5]/
newReg=/\p{Script=Han}/u
oldReg.test('abc')  // false
newReg.test('abc')  // false

oldReg.test('地平线')  // true
newReg.test('地平线')  // true

oldReg.test('?')  // false
newReg.test('?')  // true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值