【问题标题】:Array to string with AngularJS and Lodash使用 AngularJS 和 Lodash 将数组转换为字符串
【发布时间】:2015-02-20 16:32:59
【问题描述】:

我有一个如下所示的数组 ($scope.paxlist):

[
   {"name":"Maria","chosen":false},
   {"name":"Jenny","chosen":false},
   {"name":"Ben","chosen":false},
   {"name":"Morris","chosen":false}
]

我只需要从name 中获取值并将它们转换为字符串,以便能够正确使用 ng-CSV。 所需的输出将是这样的:

$scope.var = "Maria, Jenny, Ben, Morris"

考虑到我已经加载了 Angular 和 Lodash,有人可以指出他们是否已经有一些工具可以轻松地做到这一点吗?

【问题讨论】:

    标签: javascript angularjs lodash


    【解决方案1】:

    使用原生的 ma​​p javascript 你可以做到如下

    var data = [
       {"name":"Maria","chosen":false},
       {"name":"Jenny","chosen":false},
       {"name":"Ben","chosen":false},
       {"name":"Morris","chosen":false}
    ];
    
    data.map(function(obj){return obj.name;}).join(', '); // returns the expected output.
    

    使用 Lodash

    _.map(data,'name').join(', ')
    

    【讨论】:

    【解决方案2】:

    你可以使用_.map _.pluck,像这样

    $scope.var = _.map($scope.paxlist, 'name').join(', ');
    

    $scope.var = _.pluck($scope.paxlist, 'name').join(', ');
    

    【讨论】:

      【解决方案3】:

      Lodash 提供 _.pluck 从对象列表中提取属性:

      $scope.var = _.pluck($scope.paxlist, 'name').join(', ');
      

      【讨论】:

        【解决方案4】:

        通过使用 Mrityunjay 的答案,这是将字符串数组转换为字符串的答案的另一个版本:

        const _ = require('lodash');
        const data = ['abc','xyz','123'];
        const translated = _.map(data).join(', ');
        console.log(`result: ${translated}`);
        

        【讨论】:

          猜你喜欢
          • 2018-01-22
          • 2023-03-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-23
          • 2019-03-18
          相关资源
          最近更新 更多