@airgap/coinlib-core
Version:
The @airgap/coinlib-core is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.
36 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.zippedArrays = exports.flattenArray = exports.chunkedArray = exports.shuffledArray = void 0;
function shuffledArray(array) {
var shuffled = new Array(array.length);
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
shuffled[i] = array[j];
shuffled[j] = array[i];
}
return shuffled;
}
exports.shuffledArray = shuffledArray;
function chunkedArray(array, chunkSize) {
var chunkSizeInverse = 1 / chunkSize;
var chunks = new Array(Math.ceil(array.length * chunkSizeInverse));
for (var i = 0; i < array.length; i += chunkSize) {
chunks[Math.floor(i * chunkSizeInverse)] = array.slice(i, i + chunkSize);
}
return chunks;
}
exports.chunkedArray = chunkedArray;
function flattenArray(array) {
return array.reduce(function (flatten, next) { return flatten.concat(next); }, []);
}
exports.flattenArray = flattenArray;
function zippedArrays(a1, a2) {
var length = Math.min(a1.length, a2.length);
var zipped = new Array(length);
for (var i = 0; i < length; i++) {
zipped[i] = [a1[i], a2[i]];
}
return zipped;
}
exports.zippedArrays = zippedArrays;
//# sourceMappingURL=array.js.map