这是情况。我有一个包含大量信息的对象,例如
var a = {
one:"foo",
two:"bar"
}
现在我想提供包含指定键的其他对象。例如
var schema = {
two:""
}
然后只需在模式键
上创建一个新对象在这里,我想使用lodash / moutjs或任何lib
抱歉可怜的英格兰
答案 0 :(得分:1)
使用lodash,您可以_.pick()
来自originalObj(您命名为a)的架构_.keys()
:
_.pick(originalObj, _.keys(schema));
如果您想要纯JS,可以reduce
架构Object.keys()
:
Object.keys(schema).reduce(function(obj, key) {
originalObj.hasOwnProperty(key) && (obj[key] = originalObj[key]);
return obj;
}, {});
答案 1 :(得分:0)
我不确定我是否正确理解你。但是,例如,您可以在underscore中使用pick
。
var a = {
one:"foo",
two:"bar"
}
var schema = _.pick(a, "two"); // returns {two: "foo")
请注意,这也适用于lodash。
答案 2 :(得分:0)
您不需要用于简单操作的库。这是一个有效的代码:
overflow-y: scroll !important;
答案 3 :(得分:0)
var copyObject = function(origin, keys) {
var destination = {};
for (var i = keys.length - 1; i >= 0; i--) {
if(origin.hasOwnProperty(keys[i])) {
destination[keys[i]] = origin[keys[i]];
}
};
return destination;
};
var a = {
one:"foo",
two:"bar"
};
var schema = copyObject(a, ['two']);