从对象数组中提取关键字和值

extract key as well as value from a array of objects

本文关键字:关键字 提取 对象 数组      更新时间:2023-09-26

我在谷歌上搜索了这个问题,但没有找到任何合适的解决方案。

假设我有一个对象数组,如下所示——

 "points":[{"pt":"Point-1","value":"Java, j2ee developer"},{"pt":"Point-2","value":"Experienced in Core Java, Spring, Hibernate, JPA, Big Data, SOA, BPEL"}]

现在,从上面的数组中,我想提取一个特定对的密钥和值,这样我的结果如下所示——

 [{"value":"Java, j2ee developer"},{"value":"Experienced in Core Java, Spring, Hibernate, JPA, Big Data, SOA, BPEL"}]

我知道这可以通过手动循环来完成。但我不想绕过去。是否可以使用lodash或其他api一次性获得结果?

您可以映射您的数组:

var points = [
    { 'pt': 'Point-1', 'value': 'Java, j2ee developer' },
    { 'pt': 'Point-2', 'value': 'Experienced in ...' }
];
var result = points.map(function(p) {
    return { value: p.value };
});

如果您使用的是最新版本的Javascript,您还可以在对映射的调用中使用析构函数,从而以优雅的方式提取您关心的属性。

points.map(({ value }) => ({ value }));

箭头函数将point对象作为参数,并使用{ value }point.value属性销毁为一个名为value的变量。

然后它返回一个简写对象文字,该文字使用value作为键和值。

当使用Babel编译时,我们得到:

points.map(function (_ref) {
  var value = _ref.value;
  return { value: value };
});