UNPKG

tui-code-snippet

Version:
50 lines (44 loc) 1.1 kB
/** * @fileoverview Transform the Array-like object to Array. * @author NHN FE Development Lab <dl_javascript@nhn.com> */ 'use strict'; var forEachArray = require('./forEachArray'); /** * Transform the Array-like object to Array. * In low IE (below 8), Array.prototype.slice.call is not perfect. So, try-catch statement is used. * @param {*} arrayLike Array-like object * @returns {Array} Array * @memberof module:collection * @example * // ES6 * import toArray from 'tui-code-snippet/collection/toArray'; * * // CommonJS * const toArray = require('tui-code-snippet/collection/toArray'); * * const arrayLike = { * 0: 'one', * 1: 'two', * 2: 'three', * 3: 'four', * length: 4 * }; * const result = toArray(arrayLike); * * alert(result instanceof Array); // true * alert(result); // one,two,three,four */ function toArray(arrayLike) { var arr; try { arr = Array.prototype.slice.call(arrayLike); } catch (e) { arr = []; forEachArray(arrayLike, function(value) { arr.push(value); }); } return arr; } module.exports = toArray;