gpt4 book ai didi

javascript - 无法使用Map.Keys()函数

转载 作者:行者123 更新时间:2023-12-01 01:49:43 26 4
gpt4 key购买 nike

我能够创建和操作 Map 对象,但我无权访问 .keys().values() 函数。

我怎样才能弄清楚这是为什么?

let a = new Map([['a', 1], ['b', 2]]);
a.set('c', 3);

let myArray = a.keys();

我在keys()下得到红色下划线。

错误:

[15:52:12] Error - typescript - src\...TruckDeliverySchedule.tsx(102,21): error TS2339: Property 'keys' does not exist on type 'Map<string, number>'.

我不确定还有什么相关的。非常新的 JavaScript 编程。

编辑:

  "compilerOptions": {
"target": "es5",
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"jsx": "react",
"declaration": true,
"sourceMap": true,
"experimentalDecorators": true,
"skipLibCheck": true,
"typeRoots": [
"./node_modules/@types",
"./node_modules/@microsoft"
],
"types": [
"es6-promise",
"webpack-env"
],
"lib": [
"es5",
"dom",
//"es2015.collection" // removed
"es2015"
]

编辑2:

项目是针对 Sharepoint 框架并使用 Visual Studio Code 构建的。

当我尝试查看 Map 的定义时,我会看到:

// Backward compatibility with --target es5
declare global {
interface Set<T> { }
interface Map<K, V> { }
interface WeakSet<T> { }
interface WeakMap<K extends object, V> { }
}

最佳答案

tsconfig.json 文件的 compilerOptions 中,您有:

"lib": [
"es5",
"dom",
"es2015.collection"
]

所以Map在 ECMAScript 2015 中引入,但您明确仅包含 es2015.collection TypeScript 库,而不是 library for all of ECMAScript 2015 。您缺少的特定方法存在于 es2015.iterable 中图书馆。我建议,如果您的目标环境支持所有 ES2015,您应该将 es2015.collection 更改为 es2015,这样您就可以获得整个内容,而不仅仅是片段它的。

希望有帮助。祝你好运!

关于javascript - 无法使用Map.Keys()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51641979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com