鍍金池/ 問答/Java  HTML/ 監(jiān)控a的變化,當(dāng)變量a中的某個(gè)省會(huì)或者金額發(fā)生變化時(shí),對(duì)a的部分內(nèi)容替換成新內(nèi)

監(jiān)控a的變化,當(dāng)變量a中的某個(gè)省會(huì)或者金額發(fā)生變化時(shí),對(duì)a的部分內(nèi)容替換成新內(nèi)容

let a = [
    {
        "省會(huì)": "北京123",
        "金額": 29097061.66
    },
    {
        "省會(huì)": "廣州123",
        "金額": 19784491.69
    },
    {
        "省會(huì)": "杭州123",
        "金額": 14068375.59
    },
    {
        "省會(huì)": "南1京1",
        "金額": 13391405.93
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    }
]

當(dāng)a中的某個(gè)省會(huì)或者金額發(fā)生變化時(shí)

比如

let a = [
    {
        "省會(huì)": "北京123",
        "金額": 29097061.66
    },
    {
        "省會(huì)": "廣州123",
        "金額": 19784491.69
    },
    {
        "省會(huì)": "杭州123",
        "金額": 14068375.59
    },
    {
        "省會(huì)": "南1京1",
        "金額": 13391405.93
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    },
    {
        "省會(huì)": "臺(tái)灣",
        "金額": 11244012.29
    }
]

或者

let a = [
    {
        "省會(huì)": "南京",
        "金額": 29097061.66
    },
    {
        "省會(huì)": "廣州123",
        "金額": 19784491.69
    },
    {
        "省會(huì)": "杭州123",
        "金額": 14068375.59
    },
    {
        "省會(huì)": "南1京1",
        "金額": 13391405.93
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    },
    {
        "省會(huì)": "香22港3",
        "金額": 11244012.29
    }
]

然后對(duì)a的部分內(nèi)容進(jìn)行替換,請(qǐng)問如何實(shí)現(xiàn)?

回答
編輯回答
笨笨噠

var obj = [

{
    "省會(huì)": "北京123",
    "金額": 29097061.66
},
{
    "省會(huì)": "廣州123",
    "金額": 19784491.69
},
{
    "省會(huì)": "杭州123",
    "金額": 14068375.59
},
{
    "省會(huì)": "南1京1",
    "金額": 13391405.93
},
{
    "省會(huì)": "香22港3",
    "金額": 11244012.29
},
{
    "省會(huì)": "香22港3",
    "金額": 11244012.29
},
{
    "省會(huì)": "香22港3",
    "金額": 11244012.29
}

] //此處是原始數(shù)據(jù)
var obj1 = [

{
    "省會(huì)": "北京123",
    "金額": 29097061.66
},
{
    "省會(huì)": "廣州123",
    "金額": 19784491.69
},
{
    "省會(huì)": "杭州123",
    "金額": 14068375.59
},
{
    "省會(huì)": "南1京1",
    "金額": 13391405.93
},
{
    "省會(huì)": "香22港3",
    "金額": 11244012.29
},
{
    "省會(huì)": "香22港3",
    "金額": 11244012.29
},
{
    "省會(huì)": "臺(tái)灣",
    "金額": 11244012.29
}

] //此處是取發(fā)生變化后的數(shù)據(jù)
for (var i = 0 ; i < obj.length; i++) {

            if (obj[i].金額 == obj1[i].金額 && obj1[i].省會(huì) == obj1[i].省會(huì)) {

            } else {
                obj[i].金額 = "此處填寫要替換成什么值";
                obj[i].省會(huì) = "此處填寫要替換成什么值";
            }
        }

//最后obj就是替換成功后的新對(duì)象數(shù)組

2018年6月2日 13:10
編輯回答
淺淺

你既然已經(jīng)知道某個(gè)省或某個(gè)金額發(fā)生變化了,那它在a里面的位置你也應(yīng)該能知道啊,直接賦值不就完了么

2018年4月15日 15:01
編輯回答
墻頭草

我知道能重新對(duì)a賦值,想知道當(dāng)數(shù)據(jù)變化后,對(duì)數(shù)據(jù)一部分賦值的方法

2018年1月25日 07:14
編輯回答
膽怯

搞不大清楚你什么意思,不過如果是想監(jiān)控某變量的變化,可以調(diào)用Object.defineProperty寫一個(gè)setter方法。

2017年4月21日 15:46