Angular print string array without quotes

38.7k views Asked by At

I have a simple string array coming from a server:

[{"things":["me", "my"]}]

In my page, to display the array I have:

{{things}}

And it prints:

["me", "my"]

How do I control the printing, for instance, if I want to eliminate the brackets and quotes?

3

There are 3 answers

0
Daniel On BEST ANSWER

You can implement a scope function to display arrays as comma separated strings like shown in this fiddle.

$scope.array = ["tes","1","2","bla"];

$scope.arrayToString = function(string){
    return string.join(", ");
};

Now you can call this function within the template:

{{arrayToString(array)}}

Update

You can also use the join() method of arrays directly within the template without using an extra function inbetween as displayed within the updated fiddle.

{{array.join(", ")}}
0
thataustin On

I think you'll want ngRepeat for something like:

<div class="list" ng-repeat="thing in things">
  {{ thing }}
</div>
0
icl7126 On

You can also create custom angular filter optionally with some advanced formatting:

module.filter('formatArray', ['OptionalInjection', function(OptionalInjection) {
  return function(value) {
    if (!angular.isArray(value)) return '';
    return value.map(OptionalInjection.formatter).join(', ');  // or just return value.join(', ');
  };
}])

Then in html just write {{yourArrayValue | formatArray}}.