javascript - 使用javascript从对象中删除项目的更好方法是什么

标签 javascript performance javascript-objects

我有 50000 行和 200 列(每行)并尝试从每个行对象中删除所有 col 对象,现在需要 5 秒才能完成整个过程。有没有更好的方法来提高性能? 注意:有可能会跳过一些对象,在这种情况下不要删除 skipRows 和 skipCols 对象。

var skipRows = {10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1};
var skipCols = {50:1,51:1,52:1,53:1,54:1,55:1,56:1,57:1,58:1,59:1,60:1};

for(var i = 0; i < 50000; i++){
   if(!(i in skipRows)){
    var rowObject = rowColObjects[i];
     for  ( var j = 0; j < 200; j++){
        if(!(j in skipCols)){
          delete rowObject[i+"-"+j];
        }
     } 
  }

下面是查看示例代码和结果的 fiddle :

http://jsfiddle.net/rambabu14/9mcne3en/

谢谢, 兰巴布。

最佳答案

为什么不重新初始化它,而不是遍历所有键并删除它们。

rowColObjects = {};

在这里查看性能 http://jsfiddle.net/9mcne3en/3/

关于javascript - 使用javascript从对象中删除项目的更好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171943/

相关文章:

javascript - 使用 Webpack 在 devtools 中调试

ruby - 如何在 ruby​​ Array Map 中构造对象?

Java:并发读取 InputStream

javascript - 使用 forEach 迭代 NodeList 时如何仅使用绑定(bind)而不是调用?

javascript - 为什么我的即时搜索不起作用?

javascript - AngularJS 的移动架构选项

javascript - JSHint 未使用的变量

jquery - 使用选择器加速此 jQuery 代码

javascript - 'this' 如何在 Javascript 中创建对象的构造函数中工作

javascript - 在javascript中实现扩展方法