You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
692 B
JavaScript
27 lines
692 B
JavaScript
6 years ago
|
/** Used for built-in method references. */
|
||
|
var objectProto = Object.prototype;
|
||
|
|
||
|
/** Used to check objects for own properties. */
|
||
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
||
|
|
||
|
/**
|
||
|
* Initializes an array clone.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Array} array The array to clone.
|
||
|
* @returns {Array} Returns the initialized clone.
|
||
|
*/
|
||
|
function initCloneArray(array) {
|
||
|
var length = array.length,
|
||
|
result = new array.constructor(length);
|
||
|
|
||
|
// Add properties assigned by `RegExp#exec`.
|
||
|
if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
|
||
|
result.index = array.index;
|
||
|
result.input = array.input;
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
module.exports = initCloneArray;
|