-
Notifications
You must be signed in to change notification settings - Fork 0
OKPO
do- edited this page Sep 21, 2024
·
7 revisions
OKPO
— класс-наследник ScalarProduct с фиксированным набором коэффициентов и некоторыми переопределёнными методами.
const c = new OKPO (valueLength)
Имя | Описание |
---|---|
coefficients |
Массив коэффициентов |
valueLength |
Длина массива коэффициентов |
checkSumLength |
Количество цифр в контрольной сумме (1) |
totalLength |
Общее количество цифр в коде (valueLength + 1 ) |
modulus1 |
11 |
modulus2 |
10 |
scalarProduct2 |
Резервный ScalarProduct на случай this.sum % 11 === 10
|
Рассчитывает this.sum
с резервным набором коэффициентов: 3, 4, 5... вместо основного 1, 2, 3...
Поскольку коды ОКПО принято печатать без лидирующих нулей, дополняет str
нулями до totalLength
, после чего вызывает унаследованный метод.
Поскольку коды ОКПО принято печатать без лидирующих нулей, то при генерации значения, начинающегося на единственный '0' — удаляет его. Значения с лидирующими '00' не выдаёт, в этом случае генерирует значение повторно.