Javascript lodash能否以本机方式将关键点列表从对象拉入新对象?
使用内置的lodash函数,可以传入对象和键列表,并从对象中删除键/值对,然后将其放入返回的新对象中。例如:Javascript lodash能否以本机方式将关键点列表从对象拉入新对象?,javascript,lodash,Javascript,Lodash,使用内置的lodash函数,可以传入对象和键列表,并从对象中删除键/值对,然后将其放入返回的新对象中。例如: var obj = {a: 1, b: 2, c: 3}; pluck(obj, ['a', 'b']) // returns {a: 1, b: 2} console.log(obj) // {c: 3} 弹拨被一个或多个lodash功能取代。我认为lodash没有任何内置功能。不过,只需使用JavaScript本机功能即可轻松实现: varobj={a:1,b:2,c:3}; c
var obj = {a: 1, b: 2, c: 3};
pluck(obj, ['a', 'b']) // returns {a: 1, b: 2}
console.log(obj) // {c: 3}
弹拨被一个或多个lodash功能取代。我认为lodash没有任何内置功能。不过,只需使用JavaScript本机功能即可轻松实现:
varobj={a:1,b:2,c:3};
console.log(['a','b'].reduce(函数(newObj,名称){
newObj[name]=obj[name];
删除obj[名称];
返回newObj;
}, {})); // {a:1,b:2}
console.log(obj)/{c:3}
是,使用和:
对于新对象:
var newobj = _.omit(obj, ['a', 'b']); // { c: 3 }
是否确实需要从源对象中删除属性?这是一个有点奇怪的要求。
省略
只完成OP要求的一半。另一半是什么?来自问题文本:“…并放入一个返回的新对象中。”(代码中的注释也显示了这一点)。这就是为什么我的答案中有一个pick
+ommit
。在第二个例子中newobj
是新对象。它只有c
。我建议重新阅读这个问题,特别是代码注释。
var newobj = _.omit(obj, ['a', 'b']); // { c: 3 }