2016-03-06 75 views
1

删除项目我有一个包含行对象数组和VisibleColumns对象数组作为显示在下面的屏幕抓取的敲除视图模型:匹配键从阵列

enter image description here

正如你可以看到,VisibleCoumns数组包含的值与Rows数组的键匹配。

我想删除行数组中的键值对,其中在VisibleColumns数组中找不到密钥

这些数组将会相当大,所以我想知道是否有一个典型的JavaScript方法来做这种事情是非常有效的?

+0

你使用underscorejs? – 2016-03-06 11:47:08

+0

'不是。我对JS世界相当陌生 - 刚开始使用KnockoutJs –

+0

您是否尝试过使用'ko.utils'过滤器来根据您的需要过滤数组 –

回答

1

事情是这样的:

for (var i = 0; i < Rows.length; i++) { 
    var row = Rows[i]; 

    var keys = Object.keys(row); 
    for (var k = 0; k < keys.length; k++) { 
     if (VisibleColumns.indexOf(keys[k]) === (-1)) { 
      delete row[keys[k]]; 
     } 
    } 
} 
+0

完美!谢谢。 –