You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-15 23:00:36 +02:00
All: Optimised Nextcloud sync delta functionality
This commit is contained in:
@ -13,4 +13,28 @@ ArrayUtils.removeElement = function(array, element) {
|
||||
return array;
|
||||
}
|
||||
|
||||
// https://stackoverflow.com/a/10264318/561309
|
||||
ArrayUtils.binarySearch = function(items, value) {
|
||||
|
||||
var startIndex = 0,
|
||||
stopIndex = items.length - 1,
|
||||
middle = Math.floor((stopIndex + startIndex)/2);
|
||||
|
||||
while(items[middle] != value && startIndex < stopIndex){
|
||||
|
||||
//adjust search area
|
||||
if (value < items[middle]){
|
||||
stopIndex = middle - 1;
|
||||
} else if (value > items[middle]){
|
||||
startIndex = middle + 1;
|
||||
}
|
||||
|
||||
//recalculate middle
|
||||
middle = Math.floor((stopIndex + startIndex)/2);
|
||||
}
|
||||
|
||||
//make sure it's the right value
|
||||
return (items[middle] != value) ? -1 : middle;
|
||||
}
|
||||
|
||||
module.exports = ArrayUtils;
|
Reference in New Issue
Block a user