次のような配列($ scope.paxlist)があります。
[
{"name":"Maria","chosen":false},
{"name":"Jenny","chosen":false},
{"name":"Ben","chosen":false},
{"name":"Morris","chosen":false}
]
Ng-CSVを適切に使用するには、name
から値のみを取得して文字列に変換する必要があります。目的の出力は次のようになります。
$scope.var = "Maria, Jenny, Ben, Morris"
AngularとLodashが既にロードされていることを考慮して、これを簡単に行うためのツールが既にある場合、誰かが指摘できますか?
Javascriptのネイティブmapを使用すると、以下のように実行できます。
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(', ')
Lodashは _.pluck
オブジェクトのリストからプロパティを抽出するには:
$scope.var = _.pluck($scope.paxlist, 'name').join(', ');
Mrityunjayの答えを使用することで、これは文字列の配列を文字列に変換する答えの別のバージョンです。
const _ = require('lodash');
const data = ['abc','xyz','123'];
const translated = _.map(data).join(', ');
console.log(`result: ${translated}`);