是否存在lodash函数,或者可能是两者的组合,可以接受对象和要保留的键数组,以输出对象简化为这些键?
{a: 1, b: 2, c: 3, d: 4} and ['a', 'c'] => {a: 1, c: 3}
https://lodash.com/docs选择
var obj = {a: 1, b: 2, c: 3, d: 4};
var keys = ['a', 'c'];
var filtered = _.pick(obj, keys);
document.body.innerHTML = '<pre>' + JSON.stringify(filtered, null, ' ') + '</pre>';
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>
你可以这样做。它不是很慢,但它组装物体相当快。
function reduce(obj, keys)
{
var newObj = {};
keys.forEach(function(element)
{
newObj[element] = obj[element];
});
return newObj;
}
var myObj = {a: 1, b: 2, c: 3, d: 4};
var reducedObj = reduce(myObj, ["a", "c"]);