AngularJS/JavaScript:按数字顺序排列对象数组
我对你们大家有一些特别的要求。我需要以下对象数组的自定义顺序/排序。我需要订购的阵列可能类似于以下示例:AngularJS/JavaScript:按数字顺序排列对象数组,javascript,angularjs,math,Javascript,Angularjs,Math,我对你们大家有一些特别的要求。我需要以下对象数组的自定义顺序/排序。我需要订购的阵列可能类似于以下示例: //array $scope.myArray = [ { orderId: "100" }, { orderId: "02" }, { orderId: "020" }, { orderId: "90" }, { orderId: "9" },{ o
//array
$scope.myArray = [
{
orderId: "100"
}, {
orderId: "02"
}, {
orderId: "020"
}, {
orderId: "90"
}, {
orderId: "9"
},{
orderId: "52222"
}, {
orderId: "5223"
}, {
orderId: "522"
}, {
orderId: "800"
}, {
orderId: "080001"
}, {
orderId: "0009"
}
];
主要问题是,我必须在$scope.myArray
中按属性orderId
逐位对这些对象进行排序。我已经用$scope.myTest=$filter($orderBy')($scope.myTest,'orderId',false)试过了
但是作为aspected,这不会对我的属性逐位排序
结果应该是这样的:
您可以采用Javascript的内置排序,并将属性作为字符串进行排序
$scope={myArray:[{orderId:“100”}、{orderId:“02”}、{orderId:“020”}、{orderId:“90”}、{orderId:“9”}、{orderId:“52222”}、{orderId:“5223”}、{orderId:“522”}、{orderId:“800”}、{orderId:“080001”}、{orderId:“0009”};
$scope.myArray.sort(函数(a,b){
返回a.orderId.localeCompare(b.orderId);
});
log($scope.myArray)代码>
.as console wrapper{max height:100%!important;top:0;}
您可以采用Javascript的内置排序,并按属性作为字符串排序
$scope={myArray:[{orderId:“100”}、{orderId:“02”}、{orderId:“020”}、{orderId:“90”}、{orderId:“9”}、{orderId:“52222”}、{orderId:“5223”}、{orderId:“522”}、{orderId:“800”}、{orderId:“080001”}、{orderId:“0009”};
$scope.myArray.sort(函数(a,b){
返回a.orderId.localeCompare(b.orderId);
});
log($scope.myArray)代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}
//abstract result order
0009, 02, 020, 080001, 100, 522, 52222, 5223, 800, 9, 90
//array ordered
$scope.myArray = [
{
orderId: "0009"
}, {
orderId: "02"
}, {
orderId: "020"
}, {
orderId: "080001"
}, {
orderId: "100"
},{
orderId: "522"
}, {
orderId: "52222"
}, {
orderId: "5223"
}, {
orderId: "800"
}, {
orderId: "9"
}, {
orderId: "90"
}
];