首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript partial.lenses获取数组中的属性时出现问题

使用javascript partial.lenses获取数组中的属性时出现问题
EN

Stack Overflow用户
提问于 2019-02-22 08:47:45
回答 1查看 140关注 0票数 0

我正在试图弄清楚如何创建一个镜头,它将为我提供一个数组中的键值数组。下面是一个简单的例子:

代码语言:javascript
复制
const L = require('partial.lenses');

const data = [
  {
    r: [
      {
        d: {
          one: 1,
          two: 2
        }
      }
    ]
  },
  {
    r: [
      {
        d: {
          three: 3,
          four: 4
        }
      }
    ]
  }
];

const lens = L.compose (
  L.elems,
  L.prop ('r'),
  L.elems,
  L.prop ('d'),
);

const result = L.get (lens, data);
console.log (result);

我想要:

代码语言:javascript
复制
[{ one: 1, two: 2 }, { three: 3, four: 4 }]

但是get:

代码语言:javascript
复制
{ one: 1, two: 2 }

我确信这是微不足道的,但我不能完全正确地理解它。一旦我的镜头正确地选择了'd‘数组,我想使用L.modify来获取所有’d‘对象都替换为字符串的数据。我想我知道怎么做,一旦我的镜头是正确的。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-22 09:33:53

使用L.collect而不是L.getL.get返回第一个找到的实体,而L.collect返回所有匹配的实体,类似于[].filter[].find

https://github.com/calmm-js/partial.lenses#l-collect

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54818437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档