voici.js
GitHubTypeDocnpm☕
  • 🏠Home
  • ⚡Quick Start
  • 💡Examples
    • Styling
      • Alignment
      • Colors
      • Border
      • Padding
      • Width
      • Font Style
    • Sorting
    • Highlighting
    • Accumulation
    • Columns
      • Sort Columns
      • Selected Columns
      • Rename Columns
      • Dynamic Columns
    • Arrays
    • Fill Empty
    • Export
    • Typescript
    • Printing
  • 🧩Contributing
  • Reference
    • 📖API Reference
      • AccumulationFunction
      • Config
      • Sort
      • Table
    • ❓FAQ
    • ❗Issues
Powered by GitBook
On this page

Was this helpful?

  1. Examples

Accumulation

Accumulate the values of a column.

PreviousHighlightingNextColumns

Last updated 2 years ago

Was this helpful?

Check out the for more examples.

Accumulation allows you to calculate a value based on all the cells inside a given column. Therefore, you can pick one of the predefined . For example:

  • SUM

  • MEAN

  • MAX

  • VARIANCE

  • ...

The values null and undefined are excluded from accumulation.

Using the accumulation options you can provide the accumulated columns, a bgColor and a line separator. Inside columns provide the desired column you'd like to accumulate and the AccumulationFunction to apply.

import { Table, AccumulationFunction } from 'voici.js'

const data = [
  { firstname: 'Homer', lastname: 'Simpson', age: 39 },
  { firstname: 'Marge', lastname: 'Simpson', age: 36 },
  { firstname: 'Bart', lastname: 'Simpson', age: 10 },
  { firstname: 'Lisa', lastname: 'Simpson', age: 8 },
  { firstname: 'Maggie', lastname: 'Simpson', age: 1 }
];

const config = {
  body: {
    accumulation: {
      separator: '-',
      columns: [
        {
          'age': AccumulationFunction.MEAN
        }
      ]
    }
  }
};

const table = new Table(data, config);
table.printPlain();

The accumulated output:

  firstname    lastname    age     
===================================
  Homer        Simpson     39      
  Marge        Simpson     36      
  Bart         Simpson     10      
  Lisa         Simpson     8       
  Maggie       Simpson     1       
-----------------------------------
                           18.800  

You can also use accumulated values for .

💡
accumulation tests
accumulation functions
dynamic columns