Javascript将值传递给多维对象错误

时间:2016-03-08 04:12:43

标签: javascript jquery

到目前为止,我一直试图弄清楚为什么会发生这种情况,但没有结果。 我在页面中使用bootstrap和Jquery。在以下代码之后,在匿名函数内,尝试设置全局范围对象值(mats):

var matData = {
m1: {name: "Mat-1 name", color: '#d8ccb6'},
m2: {name: "Mat-2 name", color: '#502e35'},
m3: {name: "Mat-3 name", color:'#303742'},
m4: {name: "Mat-4 name",color: '#2e3136'},
m5: {name:"Mat-5 name",color: '#47513e'}
};

var mats={
    m0: {name: "none",price: 0,color: "transparent"},
    m1: {name: "none",price: 0,color: "transparent"},
    m2: {name: "none",price: 0,color: "transparent"}
    };  
var temp1 = matData[matDD]["name"]; //"apple"
        var temp2 = matData[matDD]["color"];// "red"

在以下几行之后:

mats[matsK].name= temp1;
mats[matsK].color = temp2;

对象垫将是:

mats={
        m0: {name: "apple",price: 0,color: "red"},
        m1: {name: "apple",price: 0,color: "red"},
        m2: {name: "apple",price: 0,color: "red"}
        }; 

整个对象,每个索引,而不仅仅是matsK将包含temp1和temp2值。它不在循环内。

我已经调试了10个小时,没什么用。 为什么以下代码将对象的每个元素都设置为temp1和temp2?

0 个答案:

没有答案