代码位于 ExtJS 中。我从网格面板获取的数据。当用户单击一行时,我正在检索数据以自动填充弹出窗口。
for(index = 0; index < grid_obj.getStore().getCount(); index++){
if(sm.isSelected(index)){
selected_row = index;
record = grid_obj.getStore().getAt(index);
record_data = record.data.field;
s_record = record_data.toString().replace('(','').replace(')','').split(',');
}
}
我有一个ExtJS代码,后端代码是用Python编写的。我有以下情况:
data = (1,2,4);
这是 python 代码返回的格式,我无法修改。我需要将其转换为数组,以便我可以使用 indexOf
访问其元素。我尝试了各种方法,例如:
record = Array(data.toString().replace('(','').replace(')','').split(','));
如果我执行alert(record.indexOf('2'))
,它会给我-1。
最佳答案
数据是如何发送到客户端的? JavaScript 总是将其作为字符串获取,并且元组的字符串表示形式如下所示: 看起来像这样:"(1,2,3,4)"
。要将这些数字放入数组中,您可以这样做:
tuple = "(1,2,3,4,5)"; // just getting some test data, you'll probably get this in an AJAX response from the server
data = tuple.substring(1,tuple.length - 1).split(",");
现在您有了一个字符串数组,每个字符串都包含元组中的数据。
如果您现在想将其转换为整数数组,您可以执行以下操作:
for(index in dat)
{
data[index] = Number(data[index])
}
关于javascript - 如何在 JavaScript 中处理元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10861000/