欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js之遍歷嵌套數(shù)組對(duì)象方式

 更新時(shí)間:2023年06月29日 15:23:08   作者:前端鼓勵(lì)師  
這篇文章主要介紹了js之遍歷嵌套數(shù)組對(duì)象方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

js遍歷嵌套數(shù)組對(duì)象

        chuli(arr) {
            let kongarr = []
            for (let i = 0; i < arr.length; i++) {
                console.log("arr[i]", arr[i])
                let children1=[]
                let children2=[]
                let children3=[]
                let obj={}
                obj.id=arr[i].id
                obj.name=arr[i].name
                obj.children=children2
                let two=arr[i].children
                for (let j=0;j<two.length;j++){
                    console.log("two",two[j])
                    let san=two[j].children
                    console.log("san",san)
                    children2.push({
                        id:two[j].id,
                        name:two[j].name,
                        children:children3
                    })
                    if (two[j].name=='市公司'&&two[j].children.length>=2){
                        let sum=0
                        for (let k=0;k<san.length;k++){
                        }
                        children3.push({
                            age:"小計(jì)"
                        })
                    }else {
                        for (let k=0;k<san.length;k++){
                            children3.push({
                                bmdm:san[k].bmdm,
                                xmlx:san[k].xmlx
                            })
                        }
                    }
                }
                kongarr.push(obj)
            }
            console.log("kongarr2", kongarr)
            return kongarr
        }

js中三種主要的遍歷對(duì)象的方法

  • for in
  • Object.keys
  • Object.getOwnProperty

對(duì)非Array對(duì)象類型的遍歷

1、for in

主要用于遍歷對(duì)象的可枚舉屬性,包括自有屬性、繼承自原型的屬性

var obj = {"name":"tom","sex":"male"};
Object.defineProperty(obj, "age", {value:"18", enumerable:false});//增加不可枚舉的屬性age
Object.prototype.protoPer1 = function(){console.log("name is tom");};//通過(guò)原型鏈增加屬性,為一個(gè)函數(shù)
Object.prototype.protoPer2 = 2;通過(guò)原型鏈增加屬性,為一個(gè)整型值2
console.log("For In : ");
for(var a in obj)
console.log(a);

輸出的截圖為:

總結(jié):for in 主要用于遍歷對(duì)象的可枚舉屬性,包括自有屬性、繼承自原型的屬性,示例中的屬性age為不可可枚舉,所以沒(méi)有輸出。

2、Object.keys

此方法返回一個(gè)數(shù)組,元素均為對(duì)象自有可枚舉的屬性

var obj = {"name":"tom","sex":"male"};
Object.defineProperty(obj, "age", {value:"18", enumerable:false});//增加不可枚舉的屬性age
Object.prototype.protoPer1 = function(){console.log("name is tom");};//通過(guò)原型鏈增加屬性,為一個(gè)函數(shù)
Object.prototype.protoPer2 = 2;通過(guò)原型鏈增加屬性,為一個(gè)整型值2
console.log("Object.keys:")
console.log(Object.keys(obj));

輸出的截圖為:

總結(jié):Object.keys主要用于遍歷對(duì)象自有的可枚舉屬性,不包括繼承自原型的屬性和不可枚舉的屬性。

3、Object.getOwnProperty

此方法用于返回對(duì)象的自有屬性,包括可枚舉和不可枚舉的屬性

Object.defineProperty(obj, "age", {value:"18", enumerable:false});//增加不可枚舉的屬性age
Object.prototype.protoPer1 = function(){console.log("name is tom");};//通過(guò)原型鏈增加屬性,為一個(gè)函數(shù)
Object.prototype.protoPer2 = 2;通過(guò)原型鏈增加屬性,為一個(gè)整型值2
console.log("Object.getOwnPropertyNames: ");
console.log(Object.getOwnPropertyNames(obj));

輸出的截圖為:

總結(jié):Object.getOwnProperty主要用于返回對(duì)象的自有屬性,包括可枚舉和不可枚舉的屬性,不包括繼承自原型的屬性。

對(duì)Array對(duì)象類型的遍歷

1、for in

var arr = [1,2,3,4,5,6];
for(var a in arr) console.log(a);

輸出的截圖為:

總結(jié):輸出為數(shù)組對(duì)象的index 值。

2、Object.keys

var arr = [1,2,3,4,5,6];
console.log(Object.keys(arr));

輸出的截圖為:

總結(jié):輸出為數(shù)組對(duì)象的index 值。

3、Object.getOwnProperty

var arr = [1,2,3,4,5,6];
console.log(Object.getOwnPropertyNames(arr));

輸出的截圖為:

總結(jié):輸出為數(shù)組對(duì)象的index 值和數(shù)組長(zhǎng)度的屬性值。

最后

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論