【发布时间】:2021-08-19 17:51:08
【问题描述】:
我在创建一个通过 intp Object.values() 传递的动态“字符串”时遇到问题
import data from "~/static/words.json"
console.log(Object.values(data.vocabulary.lection1)) //This works
let section = "vocabulary"
let lection = "lection1"
let string = `data.${section}.${lection}`
console.log(Object.values(string)) //This doesn't work, It returns ["d", "a", "t", "a", ".", "v", "o", "c", "a", "b", "u", "l", "a", "r", "y", ".", "l", "e", "c", "t", "i", "o", "n", "1"]
【问题讨论】:
-
您可以使用
Object.values(data[section][lection])。您拥有的代码不是 JavaScript 的工作方式。 -
@Pointy 但是有一个问题,我得到了这个错误。元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型。
-
@devMontu 这是一个 TypeScript 错误。
-
@VLAZ 那么我该如何解决呢?我不能?
-
@devMontu 使用类型保护或断言,如果需要的话。我既不知道您的数据,也不知道您正在使用的类型,所以我无法具体说明。
标签: javascript json object