]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
perf: optimize makeMap
authorEvan You <yyx990803@gmail.com>
Thu, 16 Nov 2023 09:02:17 +0000 (17:02 +0800)
committerEvan You <yyx990803@gmail.com>
Sat, 25 Nov 2023 08:18:29 +0000 (16:18 +0800)
packages/shared/src/makeMap.ts

index b598704c6731d449d42c87f9d3f21eae501ebf72..9c4180c1e7a44061249825e6849b782957fe28c0 100644 (file)
@@ -9,10 +9,8 @@ export function makeMap(
   str: string,
   expectsLowerCase?: boolean
 ): (key: string) => boolean {
-  const map: Record<string, boolean> = Object.create(null)
-  const list: Array<string> = str.split(',')
-  for (let i = 0; i < list.length; i++) {
-    map[list[i]] = true
-  }
-  return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val]
+  const set = new Set(str.split(','))
+  return expectsLowerCase
+    ? val => set.has(val.toLowerCase())
+    : val => set.has(val)
 }