10
0
mirror of https://github.com/LCPQ/QUESTDB_website.git synced 2024-07-04 02:16:11 +02:00
QUESTDB_website/static/js/ArrayExtensions.js

37 lines
816 B
JavaScript
Raw Normal View History

if (!Array.prototype.findAsync) {
Array.prototype.findAsync = async function (asyncCallback) {
for (const item of this) {
if (await asyncCallback(item)) {
return item
}
}
}
2020-09-24 16:56:51 +02:00
if (!Array.prototype.findAllIndexes) {
Array.prototype.findAllIndexes = function (Callback) {
2020-09-24 18:38:45 +02:00
return this.reduce(function(a, e, i) {
2020-09-24 16:56:51 +02:00
if (Callback(e))
a.push(i)
return a
}, [])
}
}
2020-09-29 11:29:40 +02:00
if (!Array.prototype.count) {
Array.prototype.count = function (o) {
var callback
var item
if (typeof o==="function") {
callback=o
}
else {
callback=(e)=>item==e
}
return this.reduce(function(c, e, i) {
if (callback) {
if (callback(e))
c++
return c
}
},0)
}
}
}