Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 排序矩阵AngularJS_Javascript_Angularjs - Fatal编程技术网

Javascript 排序矩阵AngularJS

Javascript 排序矩阵AngularJS,javascript,angularjs,Javascript,Angularjs,如何在AngularJS中对矩阵进行排序,我已经尝试过了,但它不起作用: script.js function MyCtrl($scope){ $scope.matrix = [ [3, 3, 3], [4, 4, 4], [2, 2, 2] ]; function sort(){ for (var i = 0; i < $scope.matrix.lenght; i++){ for (var j = 0; i &l

如何在AngularJS中对矩阵进行排序,我已经尝试过了,但它不起作用:

script.js

function MyCtrl($scope){
    $scope.matrix = [
        [3, 3, 3],
      [4, 4, 4],
      [2, 2, 2]
    ];

function sort(){
    for (var i = 0; i < $scope.matrix.lenght; i++){
    for (var j = 0; i < $scope.matrix.lenght - i; j++){
        if($scope.matrix[i][0] > $scope.matrix[j][0]){
        var temp = [];
        temp = $scope.matrix[i];
        $scope.matrix[i] = $scope.matrix[j];
        $scope.matrix[j] = temp;
      }
    }
  }
}
函数MyCtrl($scope){
$scope.matrix=[
[3, 3, 3],
[4, 4, 4],
[2, 2, 2]
];
函数排序(){
对于(变量i=0;i<$scope.matrix.lenght;i++){
对于(var j=0;i<$scope.matrix.lenght-i;j++){
如果($scope.matrix[i][0]>$scope.matrix[j][0]){
var-temp=[];
temp=$scope.matrix[i];
$scope.matrix[i]=$scope.matrix[j];
$scope.matrix[j]=温度;
}
}
}
}
和my.html文件

<div ng-app>
    <div ng-controller="MyCtrl">
       <ul ng-init="sort()">
           <li ng-repeat="line in matrix">
              {{line}}
           </li>
       </ul>
    </div>
</div>

  • {{line}}

我不明白我做错了什么

从我看到的情况来看,你想按每行的第一个元素对矩阵行进行排序。为什么不直接使用

let矩阵=[
[3, 3, 3],
[4, 4, 4],
[2, 2, 2]
];

console.log(matrix.sort((a,b)=>a[0]-b[0]);
“它不工作”不是很有描述性。你希望你的代码做什么,它实际上在做什么?你的控制台中有错误吗?什么都没有发生,在我看来这个函数sort没有调用你的
sort
函数没有范围限制。写为
$scope.sort=function(){…}
,您可以通过在控制器中调用
$scope.sort()
对其进行初始化(无
ng init
)但是,如果我需要在获取
    时调用它,如何调用内部控制器或者什么意思,Aleksey?但是如何在我的.html文件中正确调用此函数?您可以将排序后的矩阵存储在控制器中的单独变量中(例如,
    $scope.sortedMatrix=$scope.matrix.sort((a,b)=>a[0]-b[0])
    。然后在html中,像
    ng repeat=“line in sortedMatrix”
    一样引用此
    sortedMatrix