-2

Angular に次のようなオブジェクトがあります。

$scope.addEmployeeDepartments={ 5066549580791808=true, 6192449487634432=true, 7192449487634432=false}

このようなカンマ区切りの文字列を生成するにはどうすればよいですか

var ids="5066549580791808, 6192449487634432"

true であるすべてのキーを含む ?

ところで、ソリューションの他の部分で underscore.js を使用しているため、それが簡単になるかどうかはわかりません。

ありがとう

トーマス

4

1 に答える 1

1

reduceこれを1 回のパスで実行できます。

var collect_trues_in = function(a, v, k) {
    if(v)
        a.push(k);
    return a;
};
var csv = _($scope.addEmployeeDepartments).reduce(collect_trues_in, [ ]).join(', ');

デモ: http://jsfiddle.net/ambiguous/6CEZW/

于 2013-11-14T01:02:22.873 に答える