Javascript 使用Ramda从对象数组中省略关键帧/属性/道具

Javascript 使用Ramda从对象数组中省略关键帧/属性/道具,javascript,node.js,ramda.js,Javascript,Node.js,Ramda.js,我有一个数组,如下所示: var arr = [ {id: "a", val:1, val2: "i"}, {id: "b", val: 2, val2: "ii"}, {id: "c", val:3, val2: "iii"} ]; [{"id": "a"}, {"id"

我有一个数组,如下所示:

var arr = [
     {id: "a", val:1, val2: "i"}, 
     {id: "b", val: 2,  val2: "ii"}, 
     {id: "c", val:3,  val2: "iii"}
   ];
[{"id": "a"}, {"id": "b"}, {"id": "c"}]
var fn = R.map(R.omit(['val', 'val2']));
var result = fn(arr);
通过使用ramda,我希望得到如下数组:

var arr = [
     {id: "a", val:1, val2: "i"}, 
     {id: "b", val: 2,  val2: "ii"}, 
     {id: "c", val:3,  val2: "iii"}
   ];
[{"id": "a"}, {"id": "b"}, {"id": "c"}]
var fn = R.map(R.omit(['val', 'val2']));
var result = fn(arr);

因此,这里我想跳过对象属性“val”和“val2”

我可以通过以下方法实现这一点:

 var result = R.map(R.omit(['val', 'val2']))(arr);
或者你也可以这样写:

var arr = [
     {id: "a", val:1, val2: "i"}, 
     {id: "b", val: 2,  val2: "ii"}, 
     {id: "c", val:3,  val2: "iii"}
   ];
[{"id": "a"}, {"id": "b"}, {"id": "c"}]
var fn = R.map(R.omit(['val', 'val2']));
var result = fn(arr);

我可以通过以下方法做到这一点:

 var result = R.map(R.omit(['val', 'val2']))(arr);
或者你也可以这样写:

var arr = [
     {id: "a", val:1, val2: "i"}, 
     {id: "b", val: 2,  val2: "ii"}, 
     {id: "c", val:3,  val2: "iii"}
   ];
[{"id": "a"}, {"id": "b"}, {"id": "c"}]
var fn = R.map(R.omit(['val', 'val2']));
var result = fn(arr);
R.pick(['id'])
是另一种选择,如果您只知道要保留的属性,而不知道要删除的属性。。。。或者,
project(['id'])
,也可以在
map
调用中折叠。
R.pick(['id'])
是另一个选项,如果您只知道要保留的属性,而不知道要删除的属性。。。。或者可能是
project(['id'])
,它也可以在
map
调用中折叠。