angular js中如何去掉方括号[]和双引号""?

How can we remove square brackets [] and double quotes "" in angular js?

我在我的应用程序中使用 MEAN 堆栈,AngularJS 作为我的前端。我如何删除重复回答中的 Square Brackets []Double quotes ""My plunker 实际上我们需要在我的应用程序中显示 role 值,所以我们使用 ng-repeat="mani in name.comments " 来获得答案,我们得到了 ["user"]["admin"]["kp"] 之类的答案,我们所看到的只是需要单独显示值,而不是 [] Square BracketsDouble quotes... 例如答案是 :- [] Square BracketsDouble quotes 中没有值,例如 1. user , 2. admin, 3. kp

我的数据:-

$scope.name = {
"_id": "5863d3aaacaeddc00663bc07",

"comments": [
{
"created": 1485511936350,
"role": [
"user"
],
"email": "selvam@e21designs.com",
"name": "selvam R",
"commentText": "mani selvam"
},
{
"created": 1485511936350,
"role": [
"admin"
],
"email": "selvam@e21designs.com",
"name": "selvam R",
"commentText": "mani selvam"
},
{
"created": 1485511936350,
"role": [
"kp"
],
"email": "selvam@e21designs.com",
"name": "selvam R",
"commentText": "mani selvam"
}
],
"created": "2016-12-28T15:00:58.777Z",
"isCurrentUserOwner": false
};

我的Html:-

<div ng-repeat="mani in name.comments ">

                <td>{{$index + 1}}</td>
                <td>{{mani.role }}</td>

              </div>

您只需 select 索引 0 处数组的第一个元素,使用:

{{ mani.role[0] }}

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = {
    "_id": "5863d3aaacaeddc00663bc07",

    "comments": [{
      "created": 1485511936350,
      "role": [
        "user"
      ],
      "email": "selvam@e21designs.com",
      "name": "selvam R",
      "commentText": "mani selvam"
    }, {
      "created": 1485511936350,
      "role": [
        "admin"
      ],
      "email": "selvam@e21designs.com",
      "name": "selvam R",
      "commentText": "mani selvam"
    }, {
      "created": 1485511936350,
      "role": [
        "kp"
      ],
      "email": "selvam@e21designs.com",
      "name": "selvam R",
      "commentText": "mani selvam"
    }],
    "created": "2016-12-28T15:00:58.777Z",
    "isCurrentUserOwner": false
  };
});
<!DOCTYPE html>
<html ng-app="plunker">

<head>
  <meta charset="utf-8" />
  <title>AngularJS Plunker</title>
  <script>
    document.write('<base href="' + document.location + '" />');
  </script>
  <link rel="stylesheet" href="style.css" />
  <script data-require="angular.js@1.5.x" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.10/angular.min.js" data-semver="1.5.10"></script>
  <script src="app.js"></script>
</head>

<body ng-controller="MainCtrl">

  <div ng-repeat="mani in name.comments ">

    <td>{{$index + 1}}</td>
    <td>{{ mani.role[0] }}</td>

  </div>


</body>

</html>

你的 mani.role 是一个数组,所以做这样的事情:

<td><span ng-repeat="r in mani.role">{{ r }} </span></td>

您可以使用toString()方法将正在显示的数组转换为字符串。像这样:

        <td>{{mani.role.toString()}}</td>

这会将其显示为字符串,因此 "[] 将被删除。

Plunkr showing this.

你的数据看起来像 Json 数据,所以你需要通过 AngularJS 读取 Json 数据,方法是像这样创建模块:

var App = angular.module('App', []);

App.controller('Ctrl', function($scope, $http) {
  $http.get('data.json')
       .then(function(res){
          $scope.data = res.data;                
        });
});

此外,w3schools 对您的情况很有帮助$http in AngularJS