Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript lodash能否以本机方式将关键点列表从对象拉入新对象?_Javascript_Lodash - Fatal编程技术网

Javascript 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

使用内置的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};
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 }