Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng根据第二个数组的长度在数组上重复_Javascript_Arrays_Angularjs_Html - Fatal编程技术网

Javascript ng根据第二个数组的长度在数组上重复

Javascript ng根据第二个数组的长度在数组上重复,javascript,arrays,angularjs,html,Javascript,Arrays,Angularjs,Html,我正在尝试使用ng repeat在一个数组上迭代以显示在列表中。要显示的记录数应等于第二个数组的长度 <ul> <li ng-repeat="item in firstArray"></li> </ul> var firstArray = ["a","b","c","d","e","f"] var secondArray = ["x","y","z"] 因为secondArray的长度是3,所以li元素的数量将是3,其中前三个值来自

我正在尝试使用ng repeat在一个数组上迭代以显示在列表中。要显示的记录数应等于第二个数组的长度

 <ul>
  <li ng-repeat="item in firstArray"></li>
 </ul>

 var firstArray = ["a","b","c","d","e","f"]
 var secondArray = ["x","y","z"]
因为secondArray的长度是3,所以li元素的数量将是3,其中前三个值来自firstArray

我应该使用过滤器吗?我正在使用angularjs


谢谢

最简单的解决方案是使用Limito

<ul>
  <li ng-repeat="item in firstArray | limitTo:secondArray.length">{{item}}</li>
</ul>
  • {{item}

最简单的解决方案是使用Limito

<ul>
  <li ng-repeat="item in firstArray | limitTo:secondArray.length">{{item}}</li>
</ul>
  • {{item}
使用上述代码,它将工作


使用上面的代码,它将工作

也许您应该使用$index来测试它是否必须显示:

<ul >
     <li ng-repeat="item in firstArray" ng-if="$index < secondArray.length()" > </li>
 </ul>

也许您应该使用$index来测试它是否必须显示:

<ul >
     <li ng-repeat="item in firstArray" ng-if="$index < secondArray.length()" > </li>
 </ul>

您可以在ng repeat中使用AngularJs filter Limito。请参阅以下示例:

在角度应用侧:

    var app = angular.module('sampleapp', [])
    app.controller('samplecontrol', function ($scope) {
        $scope.firstArray = ["a","b","c","d","e","f"]
        $scope.secondArray = ["x","y","z"]
    });
在你看来:

<ul>
    <li ng-repeat="item in firstArray | limitTo:secondArray.length">{{item}}</li>
</ul>
  • {{item}

您可以在ng repeat中使用AngularJs filter Limito。请参阅以下示例:

在角度应用侧:

    var app = angular.module('sampleapp', [])
    app.controller('samplecontrol', function ($scope) {
        $scope.firstArray = ["a","b","c","d","e","f"]
        $scope.secondArray = ["x","y","z"]
    });
在你看来:

<ul>
    <li ng-repeat="item in firstArray | limitTo:secondArray.length">{{item}}</li>
</ul>
  • {{item}

只需在第二个数组上循环,并使用
firstArray[$index]
访问第一个数组的项即可

angular.module('myApp',[])
.controller('myCtrl',函数($scope){
$scope.firstArray=[“a”、“b”、“c”、“d”、“e”、“f”];
$scope.secondArray=[“x”、“y”、“z”];
});

  • {{firstArray[$index]}

只需在第二个数组上循环,并使用
firstArray[$index]
访问第一个数组的项即可

angular.module('myApp',[])
.controller('myCtrl',函数($scope){
$scope.firstArray=[“a”、“b”、“c”、“d”、“e”、“f”];
$scope.secondArray=[“x”、“y”、“z”];
});

  • {{firstArray[$index]}

这是不明智的性能,而不是只渲染所需数量的元素,您将使用
ngIf
创建多个观察程序,以比较每个$digest循环中的$index和数组长度这是不明智的性能,您将使用
ngIf
创建多个观察者,以在每个$digest循环中比较$index和数组长度,而不是只渲染所需数量的元素,并在访问第一个数组的不存在元素和生成方法时访问所需的多个
li
,同时访问第一个数组的不存在元素并生成有很多需要的
li