常用js方法函数

获取字符串长度(英文1个,中文2个)

//把双字节的字符替换成两个单字节的字符,并获取它的字符数
let str = '你好115s'
const len = str.replace(/[^\x00-\xff]/g, "00").length;
console.log(len)

js月份补零

const str = '8';
console.log(str.padStart(2, '0')); // "08"
const str1 = '10';
console.log(str1.padStart(2, '0')); // "10"

js去掉05前面的0

const str = '01';//只对字符串有效
console.log(~~num);

数组累加

let result = oldArray.reduce((a,b)=>{
  return a + b;
})

js从一个数组(数组对象)中删除另一个数组(数组对象)中存在的元素

let arr1 = [{ id: 11 }, { id: 22 }, { id: 33 }, { id: 44 }];
let arr2 = [{ id: 11 }, { id: 22 },];

const arr = arr1.filter(x => !arr2.some(y => y.id  === x.id ))
//或
const arr = arr1.filter(x => arr2.every(y => y.id  !== x.id ))
//推荐some,因为some只有找到一个满足条件的元素, 则终止循环。

//如果是删除不存在的话,some那个不取反就行了

js从一个数组(数组对象)中找出另一个数组(数组对象)中不同的元素

let arr1 = [{ id: 11 }, { id: 33 }, { id: 44 }];
let arr2 = [{ id: 11 }, { id: 111 }, { id: 22 },];
//arr1 比 arr2 多的部分。 { id: 33 },
const arr__1 = arr1.filter(x => !arr2.some(y => y.id  === x.id ))
//arr2 比 arr1 多的部分。{ id: 111 },
const arr__2 = arr2.filter(x => !arr1.some(y => y.id  === x.id ))

//不同。   res = [...arr__1,...arr__2]

数组合并

//两个数组合并
let arr = [1, 2]
let arr2 = [3, 4]
console.log(arr.concat(arr2));
// [1, 2, 3, 4]

//多个数组合并
let a = ['1', '2'];
let b = ['3', '4'];
let c = ['5', '6'];
console.log([...a, ...b,...c]);
//['1', '2', '3', '4', '5', '6']

一元加号 (+),把内容转换成数字,即使字符串无法被解析为有效的数字,也会尝试解析为数字

//??和||类似,但是
//使用 ?? 时,只有a为 null 或者 undefined 时才会返回 0;
//使用 || 时,a会先转化为布尔值判断,为true时返回a , false 返回0
let a = +(a ?? 0);
console.log(+'3');
posted @ 2023-05-08 13:45  天宁哦  阅读(20)  评论(0编辑  收藏  举报