DataView class - 按名称获取列 ID
DataView class - get column id by name
我正在使用 Google DataView class。有没有办法找到列的ID
以它的名字?
DataView class 有 getColumnLabel 方法,但我缺少该方法
可以命名为 getColumnIdByName
- 您想从标签中检索列 ID。
- 我了解到你问题中的
name
是标签。
如果我的理解是正确的,这个答案怎么样?请将此视为几个答案之一。
在这个回答中,准备了一个从标签中获取列ID的对象,因为不幸的是,我找不到直接从标签中获取列ID的方法。
示例脚本:
var data = google.visualization.arrayToDataTable([
[{id: "id1", label: 'col1'}, {id: "id2", label: 'col2'}, {id: "id3", label: 'col3'}],
['1', 2, 3],
['2', 4, 6],
['3', 6, 9],
['4', 8, 12],
['5', 10, 15],
]);
var view = new google.visualization.DataView(data);
// Here, the object for searching the column ID is created.
var col = view.getNumberOfColumns();
var obj = {};
for (var i = 0; i < col; i++) {
obj[view.getColumnLabel(i)] = view.getColumnId(i);
}
console.log(obj); // <--- {col1: "id1", col2: "id2", col3: "id3"}
console.log(obj["col3"]); // <--- id3
注:
在这种情况下,如果使用['col1', {id: "id2", label: 'col2'}, {id: "id3", label: 'col3'}],
,则返回{col1: "", col2: "id2", col3: "id3"}
。比如你不想包含col1: ""
,你也可以使用下面的脚本
var col = view.getNumberOfColumns();
var obj = {};
for (var i = 0; i < col; i++) {
var id = view.getColumnId(i);
if (id) {
obj[view.getColumnLabel(i)] = id;
}
}
参考:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。到时候能提供一下你现在的剧本吗?至此,我想修改一下。
我正在使用 Google DataView class。有没有办法找到列的ID 以它的名字?
DataView class 有 getColumnLabel 方法,但我缺少该方法 可以命名为 getColumnIdByName
- 您想从标签中检索列 ID。
- 我了解到你问题中的
name
是标签。
- 我了解到你问题中的
如果我的理解是正确的,这个答案怎么样?请将此视为几个答案之一。
在这个回答中,准备了一个从标签中获取列ID的对象,因为不幸的是,我找不到直接从标签中获取列ID的方法。
示例脚本:
var data = google.visualization.arrayToDataTable([
[{id: "id1", label: 'col1'}, {id: "id2", label: 'col2'}, {id: "id3", label: 'col3'}],
['1', 2, 3],
['2', 4, 6],
['3', 6, 9],
['4', 8, 12],
['5', 10, 15],
]);
var view = new google.visualization.DataView(data);
// Here, the object for searching the column ID is created.
var col = view.getNumberOfColumns();
var obj = {};
for (var i = 0; i < col; i++) {
obj[view.getColumnLabel(i)] = view.getColumnId(i);
}
console.log(obj); // <--- {col1: "id1", col2: "id2", col3: "id3"}
console.log(obj["col3"]); // <--- id3
注:
在这种情况下,如果使用
['col1', {id: "id2", label: 'col2'}, {id: "id3", label: 'col3'}],
,则返回{col1: "", col2: "id2", col3: "id3"}
。比如你不想包含col1: ""
,你也可以使用下面的脚本var col = view.getNumberOfColumns(); var obj = {}; for (var i = 0; i < col; i++) { var id = view.getColumnId(i); if (id) { obj[view.getColumnLabel(i)] = id; } }
参考:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。到时候能提供一下你现在的剧本吗?至此,我想修改一下。