判断数组里面的元素是否相邻或者是全都间隔一位相邻

本文介绍了两个JavaScript函数:isAdjoining用于检查数组中元素是否相邻或间隔一位,以及oddOrEven判断数字是奇数还是偶数。示例展示了如何在`showWeek`函数中应用这些功能来描述数组中的周期性模式。
摘要由CSDN通过智能技术生成
判断数组里面的元素是否相邻或者是全都间隔一位相邻
/**
 * @description 判断数组里面的元素是否相邻或者是全都间隔一位相邻
 * @param {Array} array 被判断的数组对象
 * @param {Boolean} type true--判断相邻 false--判断间隔一位相邻
 */
export function isAdjoining(array, type) {
    let flag = true
    let temp = 0
    for (let i = 0; i < array.length - 1; i++) {
        temp = array[i]
        if (parseInt(temp) + (type ? 1 : 2) != parseInt(array[i + 1])) flag = false
    }
    return flag
};

/**
 * @description 判断是奇数偶数,并且返回 true(偶数) false(奇数)
 * @param {Number} number 被判断的数字
 *
 */
export function oddOrEven(number) {
    return number % 2 == 0
};

使用方法:

  showWeek(arr) {
      let tempDesc = ""
      if (isAdjoining(arr, true) && arr.length > 1) {
        tempDesc = `${arr[0]}-${arr[arr.length - 1]}周`
      } else if (isAdjoining(arr, false) && arr.length > 1) {
        //判断是否全部间隔一相邻
        tempDesc = `${arr[0]}-${arr[arr.length - 1]}${
            oddOrEven(arr[0]) ? '双周' : '单周'
        }`
      } else {
        let str = ''
        arr.forEach(item => {
          str += `${item}周,`
        })
        tempDesc = str.substring(0, str.length - 1)
      }
      return tempDesc
    },

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值