gpt4 book ai didi

javascript - 使用 Object.values(map) 时,类型 'values' Typescript 上不存在属性 'ObjectConstructor'

转载 作者:行者123 更新时间:2023-12-02 22:43:33 25 4
gpt4 key购买 nike

我想迭代我的键/值对并将每个键的所有值插入其自己的数组中。每个键的这些值数组应被推送到单个输出数组。

我希望这能解释我正在尝试做的事情:

Input: map = {"hi":["hello","hey","howdy"],"bye":["Goodbye","Ciao"]}

Output: output = [["hello","hey","howdy"],["Goodbye","Ciao"]]

这是我到目前为止所拥有的:

return Object.values(map)

关于为什么我在 TypeScript 中遇到错误的任何帮助。在 JavaScript 中,它似乎可以编译并返回正确的答案。

 Property 'values' does not exist on type 'ObjectConstructor'

对于背景,这是分组字谜问题的一部分,因此我从提供的字符串数组“str”中填充我的 map ,如下所示。

 let map = {};
str.forEach(anagram => {
const sortedWord = anagram
.split("")
.sort()
.join("");
map[sortedWord] = map[sortedWord] || [];
map[sortedWord].push(anagram);
});
return Object.values(map)
}

最佳答案

代码可以使用进行操作,而不是使用。来自文档:

The Object.keys() method returns an array of a given object's own enumerable property names, in the same order as we get with a normal loop.

请在此处进一步阅读:Object.keys()

作为解决方案,我会根据您的情况考虑以下内容:

(function() {
const input = {"hi":["hello","hey","howdy"],"bye":["Goodbye","Ciao"]};

console.log('input', input);

const output = Object.keys(input).map(key => input[key]);

console.log('output', output);
})();

我想这个替代方案很有魅力。

关于javascript - 使用 Object.values(map) 时,类型 'values' Typescript 上不存在属性 'ObjectConstructor',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505112/

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