有一个简单的功能:

selected_row = []; // global scope

function toggleRowNumber(rowIndex) {
  if(selected_row[rowIndex]) selected_row.splice(rowIndex, 1);
  else selected_row[rowIndex] = 1;
}

用法
toggleRowNumber(50000); // click the row - write the index
toggleRowNumber(50000); // click the row again - remove the inxed

alert(selected_row.length);

50001
好的

令人愉快的功能!

那么有没有办法直接写|读索引而不进行任何搜索/循环?没有上面描述的这个巨大的壮举。

谢谢。

最佳答案

如果我理解正确,您想要存储和索引,您可以在其中检查/设置是否选择了一个项目。如果是这种情况,您正在寻找“键-值”数据结构。那么,为什么不使用 map 呢?

var selected_row = {};

function toggleRowNumber(rowIndex) {
if(selected_row[rowIndex]) selected_row[rowIndex] = 0; //or = undefined;
else selected_row[rowIndex] = 1;
}

那更好,因为哈希映射可以节省您的时间和空间。
  • 空间,因为您没有在向量中存储数百个“未定义”值。
  • 时间,因为在很多情况下,用于访问元素的哈希函数会假装命中正确的位置。
  • 关于javascript - 将表行索引存储为数组索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17916617/

    10-09 21:37