mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-10 02:47:50 +00:00
build in functionality to at, add string support, optimize, and add more tests
Former-commit-id: 951ef27e55fff5a70d09916b55b85f9e725f751a
This commit is contained in:
16
lodash.js
16
lodash.js
@@ -1956,8 +1956,20 @@
|
|||||||
* _.at( ['lodash', 'javascript', 'fast'], 0, 2 );
|
* _.at( ['lodash', 'javascript', 'fast'], 0, 2 );
|
||||||
* // => ['lodash, 'fast']
|
* // => ['lodash, 'fast']
|
||||||
*/
|
*/
|
||||||
function at(collection, list) {
|
function at(collection) {
|
||||||
return values(pick(collection || [], concat.apply(arguments, slice(arguments, 1))));
|
var index = -1,
|
||||||
|
props = concat.apply(arrayRef, slice(arguments, 1)),
|
||||||
|
length = props.length,
|
||||||
|
result = Array(length);
|
||||||
|
|
||||||
|
if (noCharByIndex && isString(collection)) {
|
||||||
|
collection = collection.split('');
|
||||||
|
}
|
||||||
|
|
||||||
|
while(++index < length) {
|
||||||
|
result[index] = collection[props[index]];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -681,6 +681,12 @@
|
|||||||
test('no list should return an empty array', function() {
|
test('no list should return an empty array', function() {
|
||||||
deepEqual(_.at(['a', 'b', 'c']), [] );
|
deepEqual(_.at(['a', 'b', 'c']), [] );
|
||||||
});
|
});
|
||||||
|
test('should work on strings', function() {
|
||||||
|
deepEqual(_.at("helio", [0,3]), ['h', 'i']);
|
||||||
|
});
|
||||||
|
test('should work with multple args', function() {
|
||||||
|
deepEqual(_.at(['a','b','c','d'], 0, 2, 3), ['a', 'c', 'd']);
|
||||||
|
});
|
||||||
}());
|
}());
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|||||||
Reference in New Issue
Block a user