mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 03:17:49 +00:00
Cleanup lazyValue.
This commit is contained in:
47
lodash.js
47
lodash.js
@@ -4749,9 +4749,9 @@
|
|||||||
if (array instanceof LodashWrapper) {
|
if (array instanceof LodashWrapper) {
|
||||||
array = array.value();
|
array = array.value();
|
||||||
}
|
}
|
||||||
var start = 0,
|
var length = array.length,
|
||||||
end = array.length,
|
start = 0,
|
||||||
length = end,
|
end = length,
|
||||||
views = this.views,
|
views = this.views,
|
||||||
viewsLength = views.length;
|
viewsLength = views.length;
|
||||||
|
|
||||||
@@ -4760,49 +4760,42 @@
|
|||||||
size = view.size;
|
size = view.size;
|
||||||
|
|
||||||
switch (view.type) {
|
switch (view.type) {
|
||||||
case 'take': end = nativeMin(end, start + size); break;
|
|
||||||
case 'takeRight': start = nativeMax(start, end - size); break;
|
|
||||||
case 'drop': start += size; break;
|
case 'drop': start += size; break;
|
||||||
case 'dropRight': end -= size; break;
|
case 'dropRight': end -= size; break;
|
||||||
|
case 'take': end = nativeMin(end, start + size); break;
|
||||||
|
case 'takeRight': start = nativeMax(start, end - size); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var dir = this.dir,
|
var dir = this.dir,
|
||||||
index = (dir == 1 ? start : end) - dir,
|
index = (dir == 1 ? start : end) - dir,
|
||||||
iteratees = this.iteratees,
|
iteratees = this.iteratees,
|
||||||
iterateesLength = iteratees.length,
|
iterateesLength = iteratees.length,
|
||||||
resIndex = -1,
|
resIndex = 0,
|
||||||
resLimit = end - start,
|
resLimit = end - start,
|
||||||
result = [];
|
result = [];
|
||||||
|
|
||||||
outer:
|
outer:
|
||||||
while (length-- && result.length < resLimit) {
|
while (length-- && resIndex < resLimit) {
|
||||||
index += dir;
|
|
||||||
|
|
||||||
var iterateesIndex = -1,
|
var iterateesIndex = -1,
|
||||||
value = array[index];
|
value = array[index += dir];
|
||||||
|
|
||||||
while (++iterateesIndex < iterateesLength) {
|
while (++iterateesIndex < iterateesLength) {
|
||||||
var data = iteratees[iterateesIndex],
|
var data = iteratees[iterateesIndex],
|
||||||
iteratee = data.iteratee;
|
iteratee = data.iteratee,
|
||||||
|
output = iteratee(value, index, array),
|
||||||
|
type = data.type;
|
||||||
|
|
||||||
switch (data.type) {
|
if (type == LAZY_MAP_FLAG) {
|
||||||
case LAZY_FILTER_FLAG:
|
value = output;
|
||||||
if (!iteratee(value, index, array)) {
|
} else if (!output) {
|
||||||
continue outer;
|
if (type == LAZY_FILTER_FLAG) {
|
||||||
}
|
continue outer;
|
||||||
break;
|
} else {
|
||||||
|
break outer;
|
||||||
case LAZY_MAP_FLAG:
|
}
|
||||||
value = iteratee(value, index, array);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case LAZY_WHILE_FLAG:
|
|
||||||
if (!iteratee(value, index, array)) {
|
|
||||||
break outer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result[++resIndex] = value;
|
result[resIndex++] = value;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user