从数组中删除具有匹配键的项目

时间:2016-03-06 11:41:10

标签: javascript knockout.js

我有一个淘汰视图模型,其中包含一个Row对象数组和一个VisibleColumns对象数组,如下面的屏幕抓取所示:

enter image description here

如您所见,VisibleCoumns数组包含与Rows数组的键匹配的值。

我想删除在VisibleColumns数组中找不到的Rows数组的键值对。

这些数组会非常大,所以我想知道是否有一种典型的javascript方式来做这种非常有效的事情?

1 个答案:

答案 0 :(得分: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]];
        }
    }
}