当前位置:  开发笔记 > 编程语言 > 正文

如何以更有效的方式组合_.map和_.filter?

如何解决《如何以更有效的方式组合_.map和_.filter?》经验,为你挑选了1个好方法。

我在我的Angular项目中使用Lodash,我想知道是否有更好的方法来编写以下代码:

$scope.new_arr = _.map(arr1, function(item){
    return _.assign(item, {new_id: _.find(arr2, {id: item.id})});
  });
$scope.new_arr = _.filter($scope.new_arr, function (item) {
  return item.new_id !== undefined;
});

我试图将一个数组中的值组合到另一个数组中的相同对象,我想忽略两个数组中没有出现的对象(它类似于连接或sql语言中的左外连接).

这是一个代码示例的小提琴:点击我!



1> stasovlas..:

我认为最好使用链接

$scope.new_arr = _.chain(arr1)
    .map(function(item) {
        return _.merge(
            {}, // to avoid mutations
            item, 
            {new_id: _.find(arr2, {id: item.id})}
        ); 
    })
    .filter('new_id')
    .value();

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有