1,去掉数组中的某个元素。
背景:组件要求选择并填写周一到周日某一天的时间段后,可以同步到剩余六天。
选择周一后,去掉数组中的‘1’,并将周一的时间段同步到剩余六天。
var daysArr = ['1', '2', '3', '4', '5', '6', '7']
daysArr = daysArr.filter(function(item) {
return item !== i.chooseDT
// i.chooseDT代表星期一,此处为'1'
})
2,遍历数组,且在遇到不符合条件的值时跳出循环。
背景:组件要求判断周一到周日每天都有时间段的填写,否则不予提交。
这里用到some方法,相比于foreach可以更方便,some遇到不符合条件的值立刻跳出循环且不进行之后的循环。
Object.keys(Arr).some( item => {
if (Arr[item].length === 0) {
this.$notification.error({
message: '错误',
description: `周${item}有时间段未填`,
duration: 3
})
return true
// 利用return true跳出循环
}
})
3,删掉数组中某个位置的元素。
背景:要求点击时间段之后的删除可以删除相应时间段。
这里用到index底部索引来删除相较于删除某个具体元素更为方便,将时间段的index传给删除方法即可。
Arr.splice(index, 1)