Version 1
[yaffs-website] / node_modules / uncss / node_modules / lodash / internal / reorder.js
diff --git a/node_modules/uncss/node_modules/lodash/internal/reorder.js b/node_modules/uncss/node_modules/lodash/internal/reorder.js
new file mode 100644 (file)
index 0000000..bb09986
--- /dev/null
@@ -0,0 +1,29 @@
+var copyArray = require('./copyArray'),
+    isIndex = require('./isIndex');
+
+/* Built-in method references for those with the same name as other `lodash` methods. */
+var nativeMin = Math.min;
+
+/**
+ * Reorder `array` according to the specified indexes where the element at
+ * the first index is assigned as the first element, the element at
+ * the second index is assigned as the second element, and so on.
+ *
+ * @private
+ * @param {Array} array The array to reorder.
+ * @param {Array} indexes The arranged array indexes.
+ * @returns {Array} Returns `array`.
+ */
+function reorder(array, indexes) {
+  var arrLength = array.length,
+      length = nativeMin(indexes.length, arrLength),
+      oldArray = copyArray(array);
+
+  while (length--) {
+    var index = indexes[length];
+    array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
+  }
+  return array;
+}
+
+module.exports = reorder;