Add ol.array.reverseSubArray
This commit is contained in:
@@ -84,3 +84,21 @@ ol.array.linearFindNearest = function(arr, target, direction) {
|
|||||||
return n - 1;
|
return n - 1;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Array.<*>} arr Array.
|
||||||
|
* @param {number} begin Begin index.
|
||||||
|
* @param {number} end End index.
|
||||||
|
*/
|
||||||
|
ol.array.reverseSubArray = function(arr, begin, end) {
|
||||||
|
goog.asserts.assert(begin >= 0);
|
||||||
|
goog.asserts.assert(end < arr.length);
|
||||||
|
while (begin < end) {
|
||||||
|
var tmp = arr[begin];
|
||||||
|
arr[begin] = arr[end];
|
||||||
|
arr[end] = tmp;
|
||||||
|
++begin;
|
||||||
|
--end;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
@@ -73,6 +73,29 @@ describe('ol.array', function() {
|
|||||||
expect(ol.array.linearFindNearest(arr, 50, -1)).to.eql(2);
|
expect(ol.array.linearFindNearest(arr, 50, -1)).to.eql(2);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe.only('reverseSubArray', function() {
|
||||||
|
it('returns expected value', function() {
|
||||||
|
var arr;
|
||||||
|
var expected = [1, 2, 3, 4, 5, 6];
|
||||||
|
|
||||||
|
arr = [1, 5, 4, 3, 2, 6];
|
||||||
|
ol.array.reverseSubArray(arr, 1, 4);
|
||||||
|
expect(arr).to.eql(expected);
|
||||||
|
|
||||||
|
arr = [3, 2, 1, 4, 5, 6];
|
||||||
|
ol.array.reverseSubArray(arr, 0, 2);
|
||||||
|
expect(arr).to.eql(expected);
|
||||||
|
|
||||||
|
arr = [1, 2, 3, 6, 5, 4];
|
||||||
|
ol.array.reverseSubArray(arr, 3, 5);
|
||||||
|
expect(arr).to.eql(expected);
|
||||||
|
|
||||||
|
arr = [6, 5, 4, 3, 2, 1];
|
||||||
|
ol.array.reverseSubArray(arr, 0, 5);
|
||||||
|
expect(arr).to.eql(expected);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
goog.require('ol.array');
|
goog.require('ol.array');
|
||||||
|
|||||||
Reference in New Issue
Block a user