两个数组中的差异
const arr1 = [
{ name: 'kk1', id: 1 },
{ name: 'kk2', id: 2 },
{ name: 'kk3', id: 3 },
{ name: 'kk4', id: 4 },
{ name: 'kk5', id: 5 },
{ name: 'kk6', id: 6 }
];
const arr2 = [
{ name: 'kk3', id: 3 },
{ name: 'kk6', id: 6 }
];
const resultArr = arr1.filter((item1) =>
arr2.some((item2) => item2.id === item1.id)
);
console.log(resultArr);
const arr1 = [
{ name: 'kk1', id: 1 },
{ name: 'kk2', id: 2 },
{ name: 'kk3', id: 3 },
{ name: 'kk4', id: 4 },
{ name: 'kk5', id: 5 },
{ name: 'kk6', id: 6 }
];
const arr2 = [
{ name: 'kk3', id: 3 },
{ name: 'kk6', id: 6 }
];
const resultArr = arr1.filter((item1) =>
arr2.some((item2) => item2.id === item1.id)
);
const resultArr2 = arr1.filter(
(item1) => !arr2.some((item2) => item1.id === item2.id)
);
rem适配布局
<meta
name="viewport"
content="width=device-width, initial-scale=1.0,maximum-scale=1,minimum-scale=1,user-scalable=no"
/>
autoFont();
window.onresize = function() {
autoFont();
};
function autoFont() {
var fontBase = 100;
var designWidth = 750;
var currentWidth = document.querySelector('html').clientWidth;
var currentHeight = document.querySelector('html').clientHeight;
if (currentWidth > currentHeight) {
currentWidth = currentHeight;
}
var currentFontWidth = (fontBase * currentWidth) / designWidth;
document.querySelector('html').style.fontSize = currentFontWidth + 'px';
}
页面滚动到指定位置
const contentForm = document.getElementById('content-form');
contentForm.scrollTo({
top: 100,
behavior: 'smooth'
});
判断是否是webview
function isWebview() {
const ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return false;
} else if (ua.match(/QQ/i) == "qq") {
return false;
} else if (ua.match(/WeiBo/i) == "weibo") {
return false;
} else {
if (ua.match(/Android/i) != null) {
return ua.match(/browser/i) == null;
} else if (ua.match(/iPhone/i) != null || ua.match(/iPad/i) != null) {
return ua.match(/safari/i) == null;
} else {
return ua.match(/macintosh/i) == null && ua.match(/windows/i) == null;
}
}
}
格式化手机号
function formatPhone(phone) {
const reg = /^(\d{3})\d{4}(\d{4})$/
return phone.replace(reg, '$1****$2')
}
格式化手机号
function formatIdCard(card) {
if (card.length <= 2) {
return card
}
const len = card.length - 2
let str = card[0]
const lastStr = card[card.length - 1]
for (let i = 0; i < len; i++) {
str += '*'
}
str += lastStr
return str
}
格式化用户名
function formatName(name) {
if (name.length <= 1) {
return name
}
const len = name.length - 1
let str = name[0]
for (let i = 0; i < len; i++) {
str += '*'
}
return str
}
校验手机号
function validPhone(data) {
if (!/^1[3456789]\d{9}$/.test(data)) {
return false
}
return true
}
校验身份证
function validCard(data) {
const reg =
/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/
if (!reg.test(data)) {
return false
}
return true
}
获取当前的ios版本是否低于某个大版本
function getIosVersion(ver) {
const str = navigator.userAgent.toLowerCase()
const version = str.match(
/cpu iphone os (.*?) like mac os/
)
if (version) {
const versionFirst = Number(
version[1].replace(/_/g, '.').split('.')[0]
)
if (versionFirst <= ver) {
return true
} else {
return false
}
}
return false
}