我有一个淘汰视图模型,其中包含一个Row对象数组和一个VisibleColumns对象数组,如下面的屏幕抓取所示:
如您所见,VisibleCoumns数组包含与Rows数组的键匹配的值。
我想删除在VisibleColumns数组中找不到键的Rows数组的键值对。
这些数组会非常大,所以我想知道是否有一种典型的javascript方式来做这种非常有效的事情?
答案 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]];
}
}
}