Test name | Executions per second |
---|---|
// array .includes | 12679112.0 Ops/sec |
// set .has | 570935.2 Ops/sec |
// array .some(!include) | 9837363.0 Ops/sec |
// set .some(!has) | 616316.4 Ops/sec |
var scopes = "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/calendar.settings.readonly https://www.googleapis.com/auth/calendar openid https://www.googleapis.com/auth/calendar.events".split(' ');
var requiredScopes = [
'yasss',
'https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/calendar.events',
'https://www.googleapis.com/auth/calendar.settings.readonly',
];
let scopesOk = true;
for (let i = 0, length = requiredScopes.length; i < length; ++i) {
if (!scopes.includes(requiredScopes[i])) {
// console.log("early break");
scopesOk = false;
break;
}
// console.log(i)
}
let scopesOk = true;
const scopeSet = new Set(scopes);
for (let i = 0, length = requiredScopes.length; i < length; ++i) {
if (!scopeSet.has(requiredScopes[i])) {
// console.log("early break");
scopesOk = false;
break;
}
}
let scopesOk = requiredScopes.some(scope => !scopes.includes(scope))
const scopeSet2 = new Set(scopes);
let scopesOk = requiredScopes.some(scope => !scopeSet2.has(scope))