]> git.cworth.org Git - empires-server/commitdiff
generate_id: Use Array.fill(null) to initialize an array of null values
authorCarl Worth <cworth@cworth.org>
Wed, 27 May 2020 03:39:20 +0000 (20:39 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 27 May 2020 03:39:20 +0000 (20:39 -0700)
When I first wrote this code I reached for a construct of:

Array(4).map(...)

but I found that map doesn't work on an array of empty items like
this. To get things to work I instead used:

[null, null, null, null].map(...)

which did the trick, but only because I happened to be using a
sufficiently small size that it was reasonable to type the complete
literal. For this commit I've found a cleaner approach of:

Array(4).fill(null).map(...)

lmno.js

diff --git a/lmno.js b/lmno.js
index 8e84473e148abf29d777dc7965941104d0bcd72d..abb1f2057c2582aad12d87e05ac732113583e0bb 100644 (file)
--- a/lmno.js
+++ b/lmno.js
@@ -56,7 +56,7 @@ class LMNO {
   }
 
   generate_id() {
-    return [null,null,null,null].map(() => LMNO.letters.charAt(Math.floor(Math.random() * LMNO.letters.length))).join('');
+    return Array(4).fill(null).map(() => LMNO.letters.charAt(Math.floor(Math.random() * LMNO.letters.length))).join('');
   }
 
   create_game(engine) {