鍍金池/ 問答/HTML5  網(wǎng)絡(luò)安全  HTML/ Javascript 如何動(dòng)態(tài)在數(shù)組里添加對(duì)象?

Javascript 如何動(dòng)態(tài)在數(shù)組里添加對(duì)象?

后端發(fā)過來(lái)的數(shù)據(jù)格式是這樣的:

var a = [
    { "title": "56歲及以上", "color": "#c12552", "value": "30", "sql": " select a00 from ipad_Analysis where s1='1' and  s10='碩士研究生及以上'" },
    { "title": "46歲至55歲", "color": "#ff6600", "value": "8", "sql": " select a00 from ipad_Analysis where  s1='1' and  s10='大學(xué)本科'" },
    { "title": "其他", "color": "#f5c700", "value": "13", "sql": " select a00 from ipad_Analysis where  s1='1' and  s10='大學(xué)???" }
];

由于我制作的界面使用了echart,所以必須把這個(gè)數(shù)組賦值給我的echartData中,如果只有著三條數(shù)據(jù)的話,那么寫死就行了,


var echartData = [{
    value: parseInt(a[0].value),
    name: a[0].title
}, {
    value: parseInt(a[1].value),
    name: a[1].title
}, {
    value: parseInt(a[2].value),
    name: a[2].title
}
];

如果后端發(fā)過來(lái)的數(shù)據(jù)不止有三個(gè)對(duì)象,我怎么動(dòng)態(tài)生成一個(gè)有多個(gè)對(duì)象(根據(jù)后端發(fā)過來(lái)的數(shù)據(jù))的數(shù)組呢?

謝謝!

回答
編輯回答
菊外人

a.push()了解一下?

2017年11月12日 02:50
編輯回答
笑忘初

寫數(shù)據(jù)處理最好養(yǎng)成 map-reduce 的習(xí)慣,你這個(gè)需求在數(shù)據(jù)部分就是 map 過程

原數(shù)組的數(shù)據(jù)結(jié)構(gòu)到新目標(biāo)結(jié)構(gòu)是列表對(duì)列表,但具體對(duì)象有映射關(guān)系,大概是

value --> parseInt(value),
title --> name

用 JS 的 map 來(lái)實(shí)現(xiàn)就是

const echartData = a.map(x => ({
    value: parseInt(x.value),
    name: x.title
});
2017年10月7日 14:42
編輯回答
心上人

如下所示即可

const echartData = a.map((item,index) => {
    return {
        value: parseInt(item.value),
        name: item.title
    }
})
2017年3月23日 13:04
編輯回答
司令

既然是個(gè)數(shù)組,難道你沒聽說(shuō)過數(shù)組的push方法嗎?循環(huán)遍歷返回的數(shù)據(jù),push進(jìn)入數(shù)組不就ok了

2017年2月18日 04:49
編輯回答
壞脾滊

朋友,悄悄告訴你,有一個(gè)東西叫循環(huán),非常棒。我從來(lái)沒有告訴過別人,今天破例告訴你,記得替我保密??!

2018年2月25日 22:09
編輯回答
尐飯團(tuán)
 var a = [
            { "title": "56歲及以上", "color": "#c12552", "value": "30", "sql": " select a00 from ipad_Analysis where s1='1' and  s10='碩士研究生及以上'" },
            { "title": "46歲至55歲", "color": "#ff6600", "value": "8", "sql": " select a00 from ipad_Analysis where  s1='1' and  s10='大學(xué)本科'" },
            { "title": "其他", "color": "#f5c700", "value": "13", "sql": " select a00 from ipad_Analysis where  s1='1' and  s10='大學(xué)???" }
        ];
        let finalData = [];
        for(let i=0;i<a.length;i++){
            finalData.push({
                value:parseInt(a[i].value),
                name:a[i].title
            })
        }
        console.dir(finalData);
    

是不是這樣的。

2017年10月4日 08:59