Test name | Executions per second |
---|---|
isArray | 299323.2 Ops/sec |
instanceof | 290084.9 Ops/sec |
Symbol.iterator | 182463.8 Ops/sec |
Object.prototype.toString.call | 260791.2 Ops/sec |
var types = {
array: [1,2,3],
number: 123,
string: '123',
map: new Map([[1,1],[2,2],[3,3]]),
set: new Set([1,2,3]),
buffer: new ArrayBuffer([1,2,3]),
boolean: true,
arrow: () => {},
function: function () {},
object: {},
u8: new Uint8Array(),
u16: new Uint16Array(),
u32: new Uint32Array(),
i8: new Int8Array(),
i16: new Int16Array(),
i32: new Int32Array()
}
var keys = Object.keys(types)
keys.map(key => Array.isArray(types[key]) === true)
keys.map(key => (types[key] instanceof Array) === true)
keys.map(key => types[key][Symbol.iterator] !== undefined)
keys.map(key => Object.prototype.toString.call(types[key]) === '[object Array]')