在 JS 中初始化数组的常用函数的效率



我有一些代码可以解析数百个对象(来自网络请求(。然后,此代码将调用一个函数以查看它是否与值匹配。

(1..100+){
isMatch(foo);
}
function isMatch(foo) {
const matches = ["apple", "orange", "strawberry"];
return matches.includes(foo);
}

我的问题是JS如何处理正在创建的"匹配"数组。isMatch 函数可能会被调用 100+ 次。它是每次都在内存中不断实例化这个数组,还是会自动缓存它?或者,这不是内存问题,因为数组和 GC 的大小?

另外,使用 array.include 与实际匹配的正则表达式之间有什么性能差异吗?

const

的作用域为函数,因此一遍又一遍地创建和销毁。如果你有一个固定的列表,在更广泛的范围内声明它,要么直接在isMatch中引用它,要么把它作为参数传递,如isMatch(foo, LIST_OF_MATCHES)

最新更新