- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
i = function () { // n = ['единственное число','множественное, 2-4','множественное число, остальное']
d = parseFloat(a[b].innerHTML); // каг-бэ число, которое нужно просклонять
if (!d) {
return n[2]
} else if (d % 1) {
return n[1]
} else if (/(11|12|13|14|5|6|7|8|9|0)$/.test(d)) { // Гениально, неправда ли?
return n[2]
} else if (/1$/.test(d)) {
return n[0]
} else if (/(2|3|4)$/.test(d)) {
return n[1]
}
};
Oleg_quadro 02.12.2009 19:37 # 0
guest 02.12.2009 21:51 # 0
Немного элементарной арифметики и получаем решение, работающее до 2 раз быстрее. Да еще и кроссплатформено (Регэкспы ведь не везде нативно есть, а вот операции div и mod - родные для многих языков :-) ).