我必须将javascript的某些字段投影到新对象。

例如我有一个下面的对象

var obj = { fn : 'Abc',
            ln : 'Xyz',
            id : 123,
            nt : 'Note',
            sl : 50000}

我想要包含fn and id的新对象
var projectedObj = { fn : 'Abc', id : 123 }

根据预测
var projection = { fn : 1, id : 1 }

像这样的东西
var projectedObj = project(obj, projection);

那么什么是最好的方法或优化的方法来做到这一点。

最佳答案

只需遍历投影对象并获得投影的关键点即可。例如,

function project(obj, projection) {
    let projectedObj = {}
    for(let key in projection) {
        projectedObj[key] = obj[key];
    }
    return projectedObj;
}

10-04 21:00