为字符串中的每个字母添加一个数字

时间:2016-04-06 14:44:03

标签: javascript angularjs

在我的代码中,我想根据字符串中字母的位置为字符串中的每个字母添加一个数字。 我希望输出为“someString”这样的字符串是s1o2m3e4S5t6r7i8n9g10,现在我得到someString10。

JS在这里:https://jsfiddle.net/tq0p6y74/

这是我的HTML:

<div ng-controller="mainController">
  <div>
    <label>Your string?
    </label>
    <input type="text" ng-model="someString" />
  </div>
  <!--this calls the function and a variable-->
  <h3>twitter.com/{{ lowercase() }}</h3>
  <h3>twitter.com/{{ uppercase() }}</h3>
  <h3>twitter.com/{{ string }}</h3>
  <h3>twitter.com/{{ addNumToEachLetter() }}</h3>
</div>

这是控制器:

myApp.controller('mainController', ['$scope', '$filter', function($scope, $filter) {
  $scope.someString = '';
  $scope.uppercase = function() {
    return $filter('uppercase')($scope.someString);
  };
  $scope.lowercase = function() {
    return $filter('lowercase')($scope.someString);
  };
  $scope.addNumToEachLetter = function() {
    var numbered = $scope.someString + ($scope.someString.length);
    if ($scope.handle.length == 0)
      return '';
    else
      return numbered;
  };
}]);

2 个答案:

答案 0 :(得分:3)

只需使用Angular表达式,如下所示:

<div ng-controller="mainController"> 
        <div> 
            <label>Your string?
            </label> 
            <input type="text" ng-model="someString"/> 
        </div> <!--this calls the function and a variable--> 
        <h3>twitter.com/{{ someString | lowercase }}</h3> 
        <h3>twitter.com/{{ someString | uppercase }}</h3>
        <h3>twitter.com/{{ string }}</h3>  
        <h3>twitter.com/{{ someString }}{{ someString.length ? someString.length : '' }}</h3> 
    </div>

您不必在控制器内调用此类表达式插值的函数。

答案 1 :(得分:3)

创建自己的过滤器:

socket.on("presenceusers", function (userPresence) {
    $('.tile').remove();\\ <------
    for (var i = 0; i < userPresence.length; i++) {
        if (userPresence[i][1] === "enable") {
            $presence.append('<div class="col-md-2 md tile default"><h6><img src="../images/offline.png"><b>' + userPresence[i][0] + '</b></h6></div>');
        }
    }
});