time-to-botec/js/node_modules/@stdlib/utils/nonindex-keys
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00
..
docs feat: add the node modules 2022-12-03 12:44:49 +00:00
lib feat: add the node modules 2022-12-03 12:44:49 +00:00
package.json feat: add the node modules 2022-12-03 12:44:49 +00:00
README.md feat: add the node modules 2022-12-03 12:44:49 +00:00

Non-Index Keys

Return an array of an object's own enumerable property names which are not integer indices.

Usage

var nonIndexKeys = require( '@stdlib/utils/nonindex-keys' );

nonIndexKeys( obj )

Returns an array of an object's own enumerable property names which are not integer indices.

var arr = [ 1, 2, 3 ];
arr.a = 'foo';
arr.b = 'bar';

var keys = nonIndexKeys( arr );
// e.g., returns [ 'a', 'b' ]

Notes

  • Name order is not guaranteed, as object key enumeration is not specified according to the ECMAScript specification. In practice, however, most engines use insertion order to sort an object's keys, thus allowing for deterministic extraction.
  • In contrast to the built-in Object.keys(), if provided null or undefined, the function returns an empty array, rather than throwing an error.

Examples

var nonIndexKeys = require( '@stdlib/utils/nonindex-keys' );

function Foo() {
    this[ 0 ] = 3.14;
    this.beep = 'boop';
    this.a = {
        'b': 'c'
    };
    return this;
}

Foo.prototype.foo = [ 'bar' ];

var obj = new Foo();
var keys = nonIndexKeys( obj );

console.log( keys );
// e.g., => [ 'beep', 'a' ]