From d821fd74fe390ddedcbda8511c52edc64cdaed74 Mon Sep 17 00:00:00 2001 From: qqvga Date: Sat, 19 Aug 2017 06:16:08 -0700 Subject: [PATCH] simplify isVowel() The bruteforce vowel check, if it's a performance choice, can be 10x improved by skipping - assigning a new variable - the surprising overhead of a complicated function like toLowerCase Check it out here: https://jsperf.com/isvowel --- js/tracery/mods-eng-basic.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/js/tracery/mods-eng-basic.js b/js/tracery/mods-eng-basic.js index 8962740..25a4c3c 100644 --- a/js/tracery/mods-eng-basic.js +++ b/js/tracery/mods-eng-basic.js @@ -3,8 +3,7 @@ */ function isVowel(c) { - var c2 = c.toLowerCase(); - return (c2 === 'a') || (c2 === 'e') || (c2 === 'i') || (c2 === 'o') || (c2 === 'u'); + return (c === 'a') || (c === 'e') || (c === 'i') || (c === 'o') || (c === 'u') || (c === 'A') || (c === 'E') || (c === 'I') || (c === 'O') || (c === 'U'); }; function isAlphaNum(c) {