数组[1,2,5]星期处理
const weekData = (arrData: any) => {
const weekDays = [
'周一',
'周二',
'周三',
'周四',
'周五',
'周六',
'周日',
'不重复'
]
return arrData.map((num: any) => weekDays[num - 1]).filter(Boolean)
}
const arr=[1,2,5]
//调用
const week= weekData (arr)//['星期一','星期二','星期五']
时间
const numStr = '1'
const result = numStr.padStart(2, '0')
console.log(result) // 输出 '01'
//举例
const a=1
const b=24
log(a.padStart(2, '0')+':'+b.padStart(2, '0'))//01:24
数组筛选数组方法
const firstArray = ['a', 'b'];// 筛选含有字符串 a,b的数组
const secondArray = [
{name: 'a', id: '1'},
{name: 'b', id: '1'},
{name: 'c', id: '1'}
];
const filteredArray = secondArray.filter(item => {
return firstArray.includes(item.name);
});
console.log(filteredArray); // 输出筛选后的数组 [{name: 'a', id: '1'},{name: 'b', id: '1'}]
把对应点击的数组放在数组最前方
const data = [
{"idolName": "7.4上传", "idolId": "AD899"},
{"idolName": "7.5", "idolId": "AD752"},
{"idolName": "龚", "idolId": "AD534"},
{"idolName": "11", "idolId": "AD857"},
{"idolName": "审核", "idolId": "AD248"},
{"idolName": "审批视频", "idolId": "AD633"}
];
// 假如我点击传的值是‘审核’,则对应把包含‘审核’的对象放在数组前方
data.sort((a, b) => {
if (a.idolName === "审核") {
return -1; // a在b之前
} else if (b.idolName === "审核") {
return 1; // a在b之后
} else {
return 0; // 保持原有顺序
}
});
console.log(data);
// 处理后data的结果
[
{"idolName": "审核", "idolId": "AD248"},
{"idolName": "7.4上传", "idolId": "AD899"},
{"idolName": "7.5", "idolId": "AD752"},
{"idolName": "龚", "idolId": "AD534"},
{"idolName": "11", "idolId": "AD857"},
{"idolName": "审批视频", "idolId": "AD633"}
]
JS对象去重
const arr = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 1, name: '张三' },
];
const uniqueArr = Array.from(new Set(arr.map(item => JSON.stringify(item)))).map(item => JSON.parse(item));
console.log(uniqueArr);
把数组中对象不相同的返回回来(通过ID筛选数组)
我需要把第二个数组里面与第一个数组里idolId相同的清除,拿到不相同的数据
const arr1 = [
{ idolConfigId: null, idolId: 'AD239', idolName: '音频2-1', adRemark: '测试音频2-1', type: 1 },
{ idolConfigId: null, idolId: 'AD219', idolName: '音频2-1', adRemark: '测试音频2-1', type: 1 },
];
const arr2 = [
{ idolConfigId: null, idolId: 'AD299', idolName: '音频2-1', adRemark: '测试音频2-1', type: 1 },
{ idolConfigId: null, idolId: 'AD219', idolName: '音频2-1', adRemark: '测试音频2-1', type: 1 },
];
const result = arr2.filter(item2 => !arr1.some(item1 => item1.idolId === item2.idolId));
console.log(result);
每个月一号返回true 方法
我们定义了一个 isFirstDayOfMonth 函数。该函数会获取当前日期,并使用 getDate() 方法获取当前日期的天数。
然后,我们将获取的天数与 1 进行比较,如果相等,则返回 true,表示当前日期是某个月的第一天。否则,返回 false。
最后,我们调用 isFirstDayOfMonth 函数并将结果打印到控制台。
请注意,JavaScript 中的 Date 对象使用本地时区。因此,结果可能会因用户设备的时区设置而有所不同。
// 每个月一号返回true
export const monthlyOne = () => {
function isFirstDayOfMonth() {
const currentDate = new Date();
const currentDay = currentDate.getDate();
return currentDay === 1;
}
// 使用示例
const isCurrentMonthFirstDay = isFirstDayOfMonth();
return isCurrentMonthFirstDay
}
使用
// 使用
//在需要调用的页面引入
import { monthlyOne } from '@/utils/index'
log(monthlyOne())//返回true
星期判断
export const getDayDescription=(arr:number[]) =>{
const weekdays = ['周一', '周二', '周三', '周四', '周五','周六','周日'];
const weekends = ['周六', '周日'];
// 判断是否连续
function isContinuous(arr:number[]) {
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i + 1] - arr[i] !== 1) {
return false;
}
}
return true;
}
// 判断是否为工作日
function isWeekday(arr: number[]): boolean {
console.log(arr.length);
arr.sort((a, b) => a - b); // 将数组从小到大排序
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i + 1] - arr[i] !== 1) { // 如果相邻两个数字的差不为1,则不是连续的
return false;
}
}
if(arr.length!==5){
return false
}
return true; // 所有数字都连续,返回true
}
// 判断是否为周末
function isWeekend(arr:number[]) {
for (let i = 0; i < arr.length; i++) {
if (!weekends.includes(weekdays[arr[i] - 1])) {
return false;
}
}
return true;
}
// 处理结果
if(arr.length==1){
switch (arr[0]) {
case 1:
return '星期一';
case 2:
return '星期二';
case 3:
return '星期三';
case 4:
return '星期四';
case 5:
return '星期五';
case 6:
return '星期六';
case 7:
return '星期日';
default:
return '不重复';
}
}
if (arr.length === 7) {
return '每天';
} else
if (isWeekday(arr)) {
return '工作日';
}else
if (isContinuous(arr)) {
return `${weekdays[arr[0] - 1]}~${weekdays[arr[arr.length - 1] - 1]}`;
} else
if (isWeekend(arr)) {
return '周末';
} else
if (arr[0]==8) {
return '不重复';
} else {
const days = arr.map((day:any) => weekdays[day - 1]);
console.log(days.join(','));
return days.join(',');
}
}
// 使用示例
console.log(getDayDescription([1, 2, 3, 4, 5, 6, 7])); // 输出:每天
console.log(getDayDescription([1, 2, 3, 4, 5])); // 输出:工作日
console.log(getDayDescription([1,2,3])); // 输出:周一~周三
console.log(getDayDescription([1, 3, 5, 6, 7])); // 输出:周一、周三、周五、周六、周天
console.log(getDayDescription([8])); //不重复
console.log(getDayDescription([1])); //星期一
设置input只能输入数字
oninput="value=value.replace(/[^\d]/g,'')"
//例子 限制只能输入11位手机号
<el-input v-model="form.phone" placeholder="请输入手机号码" oninput="value=value.replace(/[^\d]/g,'')" :maxlength="11"></el-input>