very-array

Array queries LINQ style

Usage no npm install needed!

<script type="module">
  import veryArray from 'https://cdn.skypack.dev/very-array';
</script>

README

Such array library

Very Array Build Status

Such functional array helper

Install

npm install very-array --save

bower install very-array

Many functions:

  • skip:

    va([1, 2, 3])
        .skip(1); // [2, 3]
    
  • take:

    va([1, 2, 3])
        .take(2); // [1, 2]
    
  • sum:

    va([{ a: 1 }, { a: 2 }, { a: 3 }])
        .sum(function (i) { return i.a; }); // 6
    
  • select:

    va([{ a: 1 }, { a: 2 }, { a: 3 }])
        .select(function (i) { return i.a; }) // [1, 2, 3]
    
  • selectMany:

    va([{ a: [1, 2] }, { a: [3] }, { a: [4, 5, 6] }])
        .selectMany(function (i) { return i.a; }) // [1, 2, 3, 4, 5, 6]
    
  • contains:

    va([1, 2, 3])
        .contains(1); // true
    
  • all:

    va([1, 2, 3])
        .all(function (i) { return i > 0; }); // true
    
  • any:

    va([1, 2, 3])
        .any(function (i) { return i > 2; }); // true
    
  • where:

    va([1, 2, 3])
        .where(function (i) { return i > 2; }); // [3]
    
  • first:

    va([1, 2, 3])
        .first(function (i) { return i > 1; }); // [2]
    
  • last:

    va([1, 2, 3])
        .last(); // 3
    
  • distinct:

    va([1, 1, 2, 3, 3])
        .distinct(); // [1, 2, 3]
    
  • groupBy:

    va([{ a: 1 }, { a: 1 }, { a: 2 }, { a: 3 }])
        .groupBy(function (i) { return i.a; }); //Array[2], Array[1], Array[1]
    
  • orderBy:

    va([{ a: 2 }, { a: 1 }, { a: 3 }])
        .orderBy(function (i) { return i.a; }); // [{ a: 1 }, { a: 2 }, { a: 3 }]
    
  • orderByDescending:

    va([{ a: 1 }, { a: 2 }, { a: 3 }])
        .orderByDescending(function (i) { return i.a; }); // [{ a: 3 }, { a: 2 }, { a: 1 }]
    
  • forEach:

    va([1, 2, 3])
        .forEach(function (item, index) { console.log(item) }); // 1, 2, 3
    

Such prototype extension:

va.extends(Array);

[1, 2, 3].sum() // 6