我想根据变量的值创建一个对象。我希望以下代码可以更好地解释我想要的内容:
$('.tariffCostState').each(function(){
var tariffCostObj = $(this).data('tariff-code-name');
/*
How do I set the value of tariffCostObj as an object ?
[EDIT]
Imagine that var tariffCostObj='abc';
I want that abc becomes an object: abc={}
*/
var testObj={};
var tariffCostsInput=$(this).find('input.m2m-tariff-costs-input');
for(var j= 0, inputLen = tariffCostsInput.length; j<inputLen; j++){
var tariffCostsInputId = $(this).find('input.m2m-tariff-costs-input').eq(j).attr('id');
var tariffCostsInputValue= $(this).find('input.m2m-tariff-costs-input').eq(j).val();
testObj[tariffCostsInputId]=tariffCostsInputValue;
//The goal is to have:
abc[tariffCostsInputId]=tariffCostsInputValue;
}
console.log(testObj);
});
而不是名为testObj
的对象,我想要tariffCostObj
的值(abc,...)testeObj只是一个例子
由于
答案 0 :(得分:0)
不太清楚,但我认为你想这样做:
var testObj={};
$('.tariffCostState').each(function(){
var tariffCostObj = $(this).data('tariff-code-name');
if( 'undefined' === typeof testObj[ tariffCostObj ] )
testObj[ tariffCostObj ] = {};
/*
How do I set the value of tariffCostObj as an object ?
*/
var tariffCostsInput=$(this).find('input.m2m-tariff-costs-input');
for(var j= 0, inputLen = tariffCostsInput.length; j<inputLen; j++){
var tariffCostsInputId = $(this).find('input.m2m-tariff-costs-input').eq(j).attr('id');
var tariffCostsInputValue= $(this).find('input.m2m-tariff-costs-input').eq(j).val();
testObj[ tariffCostObj ][tariffCostsInputId]=tariffCostsInputValue;
}
console.log(testObj);
});
答案 1 :(得分:0)
这是你想要的吗?
var someObjName = "myObj";
var someObjPropName = "myProp";
var someObjPropValue = "myVal";
window[someObjName] = {};
window[someObjName][someObjPropName] = someObjPropValue;
现在你有了一个名为myObj的对象,其中包含一个属性和一个值。