我的API看起来像这样:
[
[
1,
"__Default__"
],
[
7,
"parent 1"
],
[
9,
"parent 2"
],
[
17,
"Parent 3"
],
[
18,
"Parent 4"
]
]
现在我试图迭代所有这个列表的值并将其填充到select2中,但是我在迭代第二级列表时遇到了麻烦。
下面是我的代码:
var all_parent_json = $.ajax({
type: "GET",
url: "/api/content_parent/"+ project_data.id +"/?format=json",
dataType: "application/json",
async: false
}).responseText;
var all_parent = JSON.parse(all_parent_json);
var parent_option_list = [];
for (var x in all_parent){
for (y in all_parent[x]){
//THIS IS WRONG
console.log(all_parent[x].[y])
console.log(y)
parent_option_list.push({"id": all_parent[x].[0], "text": all_parent[x].[1]})
}
}
非常感谢任何帮助。
答案 0 :(得分:2)
将all_parent [a]。[b]更改为all_parent [a] [b]
答案 1 :(得分:1)
我不确定是什么。用于索引之间。我认为您尝试生成的代码是这样的:
for (x in all_parent) {
for (y in all_parent[x]){
console.log(all_parent[x][y]) }}
[x]和[y]之间的句点是语法错误。所以,我认为你想建立这样的列表:
parent_option_list.push({"id": all_parent[x][0], "text": all_parent[x][1]})
答案 2 :(得分:1)
您可以轻松使用Array.map()
。
var parent_option_list = JSON.parse(all_parent_json).map(m => { return {id: m[0], text: m[1]}; });