[英]How to sort the order of the nested array object using javascript/jquery
有一个嵌套的数组对象,请尝试根据对象中存在的顺序值对其进行排序。
因此,将对象拆分并将其推入两个新的数组变量中。 但是在我的对象响应之一中,有一个数组,我需要按升序对值进行排序。 这是我尝试过的。
JS:
var obj = {details:[{type:"general",order:1,},{type:"general1",order:3,},{type:"static",order:4,list:[{type:"static2",order:3,},{type:"static1",order:2,},]},{type:"general2",order:2,}]};
var basicArray = [];
var listArray = [];
var sortedArray = "";
var sortedListArray = "";
var checkListArray = [];
var objDetails = obj.details;
sortedArray = _.sortBy(objDetails,"order");
for(var i=0;i<sortedArray.length;i++){
if(sortedArray[i].list){
listArray.push(sortedArray[i]);
}
else{
basicArray.push(sortedArray[i]);
}
}
for(var j=0;j<listArray.length;j++){
if(listArray[j].list){
for(var k=0;k<listArray[j].list.length;k++){
sortedListArray = _.sortBy(listArray[k].list,"order");
checkListArray.push(listArray[k].list);
}
}
}
所以预期的输出在第二个循环中,我想对数组的值进行排序,就像在第一个循环中一样
在列表上使用sortBy:
for(var i=0;i<sortedArray.length;i++){
if(sortedArray[i].list){
sortedArray[i].list =_.sortBy(sortedArray[i].list,"order");
checkListArray.push(sortedArray[i].list); // add sorted list to checklist
basicArray.push(sortedArray[i]); // add element with sorted list to basic array
}
else{
basicArray.push(sortedArray[i]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.