gpt4 book ai didi

javascript - 如何在 Play Framework 模板中使用javascript获取int数组?

转载 作者:行者123 更新时间:2023-11-29 21:06:04 24 4
gpt4 key购买 nike

当我尝试将列表传递给模板时出现错误。

列表定义如下:

myList: List<Map<String,int[]>>

现在myList的数据是:

[{第一次尝试=[1,0,0,1],第二次尝试=[1,1,2,2]}, {}]

我使用 chart.js 来显示图表,所以我需要一个 int[] 作为数据列表。

我的看法:

@(myList: List[Map[String,Array[Int]]])

var list = @myList;
for(var i=0;i<list.length;i++){
var map = list[i];
for(var key in map){
myFunction(key,map[key]);
}
}

myFunction(string,array){
//I want directly use the array to the chart’s datasets
//others

var myChart = new Chart(chartid, {
type: 'bar',
data: {
labels: [“a”, “b", “c”, ”s”],
datasets: [{
data: array
}]
}
}

但是当我尝试遍历列表时出现错误(Chrome 调试显示的错误行)

var out = [{First Try=[I@6e37161d, Second Try=[I@5788d8a9}, {}];   
// “Uncaught SyntaxError: Invalid or unexpected token”.

我知道什么时候直接输出数组

System.out.println(array);

在java中它会发生像[I@6e37161d这样的字符串,但我不知道如何在javascript中处理它。我该如何使用这个数组?如果有人能提供帮助,我将不胜感激。

非常感谢。

最佳答案

您不能像您尝试的那样将 Java 对象直接转换为 Javascript 变量。

var list = @myList;

这只需要 myList.toString() 并尝试将其设置为文字 Javascript 变量。您需要先将 Java 对象序列化为 JSON,然后才能 parse the JSON in Javascript .像这样:

// Java controller code
String myListJson = Json.stringify(Json.toJson(myList));

// Template
@(myListJson: String)
var list = JSON.parse("@myListJson");

关于javascript - 如何在 Play Framework 模板中使用javascript获取int数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44012771/

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