6

有一个简单的功能:

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 正常

令人愉快的功能!

那么有没有一种方法可以直接写入|读取索引而无需任何搜索/循环?如果没有上面描述的这个巨大的壮举。

谢谢。

4

1 回答 1

0

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

var selected_row = {};

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

这更好,因为哈希映射会节省您的时间和空间。

  • 空间,因为您没有在向量中存储数百个“未定义”值。
  • 时间,因为在许多情况下,用于访问元素的哈希函数被假装命中了正确的位置。
于 2013-07-29T06:59:32.443 回答