2015-02-10 3 views
1

Новый угловой. Пожалуйста, извините меня, если это очень простой вопрос.Array to string угловой

Есть ли способ конвертировать массив в строку. Моего контроллера ее код:

$scope.addRow = function addRow(){  
    $scope.filters.push({ 'Name':$scope.name, 'dept': $scope.dept, 'city':$scope.city}); 
    $scope.name=''; 
    $scope.dept=''; 
    $scope.city=''; 
}; 

Теперь я хочу отправить эти данные в службу в виде строки

Я хочу это в формате «имя, отдел, город, имя, отдел, город ». Есть ли способ сделать это?

Сервис-код выглядит следующим образом:

   $scope.submit = function() { 
        myService.submit({ 
         filters :$scope.filters 
       }, function(response) { 
        $scope.response = response; 
       });  
      }; 

Я хочу, чтобы передать значение для фильтров в формате «имя, отдел, город, имя, отдел, город» из массива. Спасибо заранее.

+0

нет необходимости делать это, JavaScript посылает данные в Json, когда вы делаете Ajax звонки –

+0

он посылает его как неопознанный. и я хочу отправить его в формате «name, dept, city, name, dept, city» – genericuser

+0

Итак, вы спрашиваете, как выполнить конкатенацию строк в javascript? '' var myString = stringA + "," + stringB; '' –

ответ

5

Вы можете использовать

angular.toJson(array); 

создать JSon строку вашего массива.

Edit:

var array = [{name: 'misko', dept: '007', city: 'new york' }, {name: 'misko', dept: '007',city: 'new york'}]; 
 

 
function createStringByArray(array) { 
 
    var output = ''; 
 
    angular.forEach(array, function (object) { 
 
     angular.forEach(object, function (value, key) { 
 
      output += key + ','; 
 
      output += value + ','; 
 
     }); 
 
    }); 
 
    return output; 
 
} 
 

 
var string = createStringFromArray(array);

+0

отредактировал вопрос. Указанный формат. – genericuser

+0

отредактировал тент;) – Christoph