sum()¶
Функция sum
суммирует значения узлов из переданного ей множества. Строковые значения узлов сначала преобразуются в числа, а затем все полученные числа складываются.
Синтаксис¶
1 |
|
Описание и примеры¶
Пример¶
Листинг 6.3. Входящий документ
1 2 3 4 5 6 7 |
|
Листинг 6.4. Преобразование
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Листинг 6.5. Результат
1 2 3 4 5 6 7 |
|
В этом преобразовании мы заменяем каждый элемент item
на сумму значений предшествующих ему элементов плюс собственное значение. Предшествующие элементы выбираются путем выборки preceding-sibling::item
, текущий элемент — сокращенным путем ".
", затем эти два множества объединяются при помощи оператора |
, и, наконец, мы вычисляем сумму значений узлов, входящих в них функцией sum
.
Строковые значения суммируемых узлов преобразовываются в числовой формат так же, как они преобразовывались бы функцией number
. Например, если входящий документ будет иметь вид
1 2 3 4 5 6 7 |
|
то на выходе мы получим
1 2 3 4 5 6 7 |
|
потому что, начиная с третьего элемента, в суммировании будет участвовать значение number('five')
, то есть не-число (NaN
).
Ссылки¶
- sum() MDN (рус.)