JavaScript - 获取列表槽烧瓶的第 'i'th 元素



我在一个HTML文件工作。我有一个字典列表,我通过Flask从我的Python文档。我试图在JavaScript中循环列表的每个元素并获得一个值。我尝试了这些解决方案,但他们没有工作:

```for (let i = 0; i < 6; i++)
{
var value = '{{data[i]["key"]}}'
//do some stuff with it.
}```

错误:

File "/home/ubuntu/final_project/templates/results2.html",第144行,在顶级模板代码var stuff = {{data[i]['key']}"/usr/地方/lib/python3.9/网站/jinja2/environment.py"线在getitem中返回obj[参数]jinja1 .exceptions. undefinederror:列表对象没有元素Undefined

并且不带双括号:

```for (let i = 0; i < 6; i++)
{
var value = {{data[i]["key"]}}
//do some stuff with it.
}```

同样的错误。最后

:

```for (let i = 0; i < 6; i++)
{
var temp = '{{data}}'
var value = temp[i]["key"]
//do some stuff with it.
}```

但这也不起作用。它开始逐个字符地遍历数据。(输出为"undefined"6次

然而,这似乎不起作用。是否有一种方法可以在JavaScript中获得"数据"列表的"第i"列表,或者我必须回到我的python文件并逐个通过flask发送每个字典?

随着您的代码示例,似乎您正在尝试读取列表的内容,操作每个项目并存储新值。在ECMA6中,我们有用于这类操作的map方法。map方法接受一个函数,该函数将对列表的每个元素执行,然后返回一个新列表。你不需要像以前那样声明i或遍历列表。当然,这种方法也有解决方案,但这是现代的方法。

const data = [l1,l2,l3]
const newData = data.map( () => { return do_stome_stuff() }); //do some stuff

如果你需要基于一个键做一些事情,你必须在函数中为此设置逻辑。

最新更新