當前位置:編程學習大全網 - 網站源碼 - js 驗證支付密碼 6位數字不能相同 不能順序和逆序

js 驗證支付密碼 6位數字不能相同 不能順序和逆序

思路 ,[0,0,0,0,0,0] [1,2,3,4,5,6] [6,5,4,3,2,1] 都是等差數列 就是判斷是否為等差數列

1. 原數組 去重 正序排列

2.遞歸 獲取等差值

3.等差值 去重?

4.判斷等差值(去重後數組長度分3種情況 0:相同數子, 1:順序或逆序 ,其他:正確)

let arr = [9,1,7,6,5,4]

class verifications {

constructor() {

this.val = []

}

// 正序排列 去重

_init(val) {

this.val = this.DuplicateRemoval(val.sort(function (a,b) {

return a - b;

}))

}

handle(val) {

this._init(val)

let newVal = this.DuplicateRemoval(this._filters(this.val))

if (newVal.length !== 0 && newVal.length !== 1) {

return true

}else {

return false

}

}

// 遞歸處理等差數列

_filters(val,newVal = [],index = 0) {

if (index <= val.length - 2) {

newVal.push(val[index + 1]- val[index])

index++

this._filters(val,newVal,index)

}

return newVal

}

// 去重

DuplicateRemoval(val) {

return Array.from(new Set(val))

}

}

let p = new verifications()

console.log(p.handle(arr))

  • 上一篇:java 如何 將 cell類型值0.0轉換成整數
  • 下一篇:收集全世界所有關於外星人電影
  • copyright 2024編程學習大全網