共计 1112 个字符,预计需要花费 3 分钟才能阅读完成。
两个数组中雷同元素取出来
getArrEqual(arr1, arr2) {let newArr = []
for (let i = 0; i < arr2.length; i++) {for (let j = 0; j < arr1.length; j++) {if (arr1[j] === arr2[i]) {newArr.push(arr1[j])
}
}
}
return newArr
},
数组去重
unique(arr) {
// 初始化时,使新数组的第一个元素为原数组的第一个元素
let newArr = [arr[0]]
// 遍历原数组
for (let i = 1; i < arr.length; i++) {
let flag = false
// 遍历新数组
for (let j = 0; j < newArr.length; j++) {
// 判断新数组当中是否含有与原数组雷同的元素,如果有则跳过
// 如果没有,则将原数组中的元素放入新数组里即可
if (arr[i] === newArr[j]) {
flag = true
break
}
}
if (!flag) {newArr.push(arr[i])
}
}
return newArr
},
两个日期区间合并
isDateIntersection(start1, end1, start2, end2) {var startdate1 = new Date(start1.replace('-', '/').replace('-', '/'))
var enddate1 = new Date(end1.replace('-', '/').replace('-', '/'))
var startdate2 = new Date(start2.replace('-', '/').replace('-', '/'))
var enddate2 = new Date(end2.replace('-', '/').replace('-', '/'))
if (startdate1 >= startdate2 && startdate1 <= enddate2) {
//startdate1 介于另一个区间之间
return [start1, enddate1 > enddate2 ? end2 : end1]
}
if (enddate1 >= startdate2 && enddate1 <= enddate2) {
//enddate1 介于另一个区间之间
return [startdate1 <= startdate2 ? start2 : start1, end1]
}
if (startdate1 <= startdate2 && enddate1 >= enddate2) {
//startdate1-enddate1 的区间大于另一个区间,且另一个区间在 startdate1-enddate1 之间
return [start2, end2]
}
return []},
正文完
发表至: javascript
2022-03-18