簡體   English   中英

如何使用javascript / jquery對嵌套數組對象的順序進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM