如何在JavaScript中处理元组?

2024-06-07 07:44:42 发布

您现在位置:Python中文网/ 问答频道 /正文

代码在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编写的。我有以下情况:

^{pr2}$

这是python代码返回的格式,我无法修改。我需要将它转换成一个数组,这样我就可以使用indexOf访问它的元素。我尝试了各种方法,比如:

record = Array(data.toString().replace('(','').replace(')','').split(','));

如果我做了alert(record.indexOf('2')),它给我-1。在


Tags: 数据代码obj网格面板dataindexrecord
3条回答

如何将数据发送到客户端?Javascript总是将它作为一个字符串来获取,aa元组的字符串表示如下:如下所示:"(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(",");

现在有了一个字符串数组,每个字符串都包含元组中的数据。在

如果现在要将其转换为整数数组,可以执行以下操作:

^{pr2}$

你需要这个:

record = data.toString().replace('(','').replace(')','').split(',');

删除多余的Array(..),因为split(..)返回一个数组本身。在

你可以自己解析,假设我们有Python返回的tuple,如下所示:

((2, 'C/C++', 0, 'clang_cpp'), (3, 'Python相关', 0, 'python'))

首先,我们继续读取元组字符串中的字符,但是存储最后一个左分号的位置和我们遇到的分号的数量(我们可以称它为左分号级别,对于右分号也是如此),每当我们遇到右分号时,我们做以下事情:

  1. 从最后一个分号到当前右分号的子字符串 这个子串,没有分号了,我们把它分成 按“,”排列。假设新数组是M
  2. 然后我们将M追加到结果数组中,该数组将存储所有M。在
  3. 第三,删除从原始字符串中提取的子字符串。在
  4. 最后,像第一步一样做同样的事情,直到右边和左边 分号级别为0。在

JavaScript代码如下:

和13;

和13;

相关问题 更多 >

    热门问题