第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用字符串鍵訪問嵌套的JavaScript對象

使用字符串鍵訪問嵌套的JavaScript對象

慕勒3428872 2019-05-22 15:04:28
使用字符串鍵訪問嵌套的JavaScript對象我有這樣的數(shù)據(jù)結(jié)構(gòu):var someObject = {    'part1' : {        'name': 'Part 1',        'size': '20',        'qty' : '50'    },    'part2' : {        'name': 'Part 2',        'size': '15',        'qty' : '60'    },    'part3' : [        {            'name': 'Part 3A',            'size': '10',            'qty' : '20'        }, {            'name': 'Part 3B',            'size': '5',            'qty' : '20'        }, {            'name': 'Part 3C',            'size': '7.5',            'qty' : '20'        }    ]};我想使用這些變量訪問數(shù)據(jù):var part1name = "part1.name";var part2quantity = "part2.qty";var part3name1 = "part3[0].name";part1name應(yīng)該用someObject.part1.name's值填充,即“Part 1”。part2quantity與60相同。無論如何使用純javascript或JQuery實(shí)現(xiàn)這一點(diǎn)?
查看完整描述

5 回答

?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

你必須自己解析字符串:


function getProperty(obj, prop) {

    var parts = prop.split('.');


    if (Array.isArray(parts)) {

        var last = parts.pop(),

        l = parts.length,

        i = 1,

        current = parts[0];


        while((obj = obj[current]) && i < l) {

            current = parts[i];

            i++;

        }


        if(obj) {

            return obj[last];

        }

    } else {

        throw 'parts is not valid array';

    }

}

這要求您還使用點(diǎn)表示法定義數(shù)組索引:


var part3name1 = "part3.0.name";

它使解析更容易。

DEMO


查看完整回答
反對 回復(fù) 2019-05-22
  • 5 回答
  • 0 關(guān)注
  • 733 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號