使用angularjs比较和拆分字符串

时间:2016-02-17 13:29:32

标签: angularjs

我是angularjs的新手。

我需要比较两个字符串,并使用angularjs打印两个字符串中的常用字。

我的angularjs代码是:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.names = [
    {name1: 'aaaa',name2: 'aaaa'},
    {name1: 'abc',name2: 'abcde'},
    {name1: 'aabbcc',name2: 'aabbdd'}
  ];
});

HTML:

<table>
    <tr ng-repeat="x in names ">
        <td>{{x.name1}}</td>
        <td>{{x.name2}}</td>
        <td ng-if='x.name1 == x.name2'>{{x.name1}}</td>
        <td ng-if='x.name1 != x.name2'><!--Output--></td>
    </tr>
</table>

预期产出:

name1   name2   output
aaaa    aaaa    aaaa
abc     abcde   abc
aabbcc  aabbdd  aabb

我已经使用ng-if作为第一集。然后如何处理剩余的值集?这是否可以单独使用angularjs?

1 个答案:

答案 0 :(得分:0)

看看这个香草js代码:

function getIntersection(s1, s2) {
  var result = '', i, map = {};

  for (i = 0; i < s1.length; i++)
    map[s1[i]] = (map[s1[i]] || 0) + 1;

  for (i = 0; i < s2.length; i++)
    map[s2[i]] = (map[s2[i]] || 0) + 1;

  for (var key in map)
    if (map[key] > 1)
      result += key;

   return result;
}

我已将其集成到角度,使用自定义过滤器

https://jsfiddle.net/ronapelbaum/b95y5m46/