Skip to content
This repository was archived by the owner on Nov 3, 2020. It is now read-only.

gigobyte/pyarray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyarray logo
pyarray

A node module for manipulating arrays just like how you would in Python!



Build Status

Install

NPM

Features

  • Supports all native javascript array methods, such as push, indexOf etc.
  • Supports native Python list methods too!
  • Not only that, but you can also use index ranges and negative indexes, no more array[array.length-1]

Methods

For detailed information about pyarray's method behaviour visit Python's official docs. Even the errors are the same!

Python method Supported? Note
list.append(x) Yes Identical to Array.prototype.push
list.extend(L) Yes
list.insert(i, x) Yes
list.remove(x) Yes
list.pop([i]) Yes Renamed to pypop to avoid conflict with Array.prototype.pop
list.index(x) Yes
list.count(x) Yes
list.reverse() Yes Identical to Array.prototype.reverse
list.sort() No

Examples

import pyarray from 'pyarray'

Creating a pyarray

let fruits = pyarray(['Banana', 'Apple', 'Orange', 'Plum', 'Grape'])

Accessing elements

Python pyarray Result
fruits fruits.get() ['Banana', 'Apple', 'Orange', 'Plum', 'Grape']
fruits[0] fruits[0] 'Banana'
fruits[-1] fruits[-1] 'Grape'
fruits[0:-2] fruits['0:-2'] ['Banana', 'Apple', 'Orange']
fruits[0:-1:2] fruits['0:-1:2'] ['Banana', 'Orange']
fruits[::-1] fruits['::-1'] ['Grape', 'Plum', 'Orange', 'Apple', 'Banana']
You can also use the .get() method as a fallback, the syntax is
obj.get(start, end, step)

Testing

  1. Install dependencies $ npm install

  2. Run tests $ npm run test

  3. View coverage

$ istanbul cover node_modules\mocha\bin\_mocha -- dist/tests
$ open coverage/lcov-report/index.html

About

A node module for manipulating arrays just like how you would in Python!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •