Version 1
[yaffs-website] / node_modules / grunt-legacy-log-utils / node_modules / lodash / pullAt.js
diff --git a/node_modules/grunt-legacy-log-utils/node_modules/lodash/pullAt.js b/node_modules/grunt-legacy-log-utils/node_modules/lodash/pullAt.js
new file mode 100644 (file)
index 0000000..5938c05
--- /dev/null
@@ -0,0 +1,40 @@
+var arrayMap = require('./_arrayMap'),
+    baseAt = require('./_baseAt'),
+    baseFlatten = require('./_baseFlatten'),
+    basePullAt = require('./_basePullAt'),
+    compareAscending = require('./_compareAscending'),
+    rest = require('./rest');
+
+/**
+ * Removes elements from `array` corresponding to `indexes` and returns an
+ * array of removed elements.
+ *
+ * **Note:** Unlike `_.at`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {...(number|number[])} [indexes] The indexes of elements to remove,
+ *  specified individually or in arrays.
+ * @returns {Array} Returns the new array of removed elements.
+ * @example
+ *
+ * var array = [5, 10, 15, 20];
+ * var evens = _.pullAt(array, 1, 3);
+ *
+ * console.log(array);
+ * // => [5, 15]
+ *
+ * console.log(evens);
+ * // => [10, 20]
+ */
+var pullAt = rest(function(array, indexes) {
+  indexes = arrayMap(baseFlatten(indexes), String);
+
+  var result = baseAt(array, indexes);
+  basePullAt(array, indexes.sort(compareAscending));
+  return result;
+});
+
+module.exports = pullAt;