Skip to content

nescalante/very-array

Repository files navigation

Such array library

Very Array Build Status Greenkeeper badge

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

About

Javascript arrays helper LINQ style

Resources

License

Stars

Watchers

Forks

Packages

No packages published