Javascript 在运行时为对象创建属性

Javascript 在运行时为对象创建属性,javascript,object,properties,Javascript,Object,Properties,我试图为如下所示的对象创建属性,但如果我键入object.keys(window.data),则对象名为DENTAL[object object] 方法如下: function GetAppliedFilterValue(TabName, filter) { //TabName="DENTAL", filter.CoverageId = 10 var property = TabName.concat(String(filter.CoverageId)); window.dat

我试图为如下所示的对象创建属性,但如果我键入object.keys(window.data),则对象名为DENTAL[object object]

方法如下:

function GetAppliedFilterValue(TabName, filter) { //TabName="DENTAL", filter.CoverageId = 10
    var property = TabName.concat(String(filter.CoverageId)); 
    window.data[property.toString()] = {};
function GetAppliedFilterValue(TabName, filter) {
    var property = TabName + String(filter.CoverageId);
    window.data[property.toString()] = {};
我哪里做错了


另外,对象过滤器的coverageId属性是Numbertype

谢谢@Bergi,你的建议帮助我成功了

我的实现:

function GetAppliedFilterValue(TabName, filter) { //TabName="DENTAL", filter.CoverageId = 10
    var property = TabName.concat(String(filter.CoverageId)); 
    window.data[property.toString()] = {};
function GetAppliedFilterValue(TabName, filter) {
    var property = TabName + String(filter.CoverageId);
    window.data[property.toString()] = {};

也可以尝试在concat中使用.toString()。Smthing-like
var-property=TabName.concat(filter.CoverageId.toString())我怀疑是否像您那样使用String()done@SaurabhTiwari没有。toString()不起作用此创建对象键的语法采用类似于window.data[“property”]的字符串。你能试着控制属性变量看看它到底是什么吗?也可以试着用typeof来确定它的类型。。。它应该是一个字符串。“对象筛选器的Coverage ID属性是数字类型”-嗯,不,数字不会产生
[对象对象]
选项卡名
是一个字符串,对吗?没有理由使用
concat
then甚至
property.toString()
。只要
window.data[TabName+String(filter.CoverageId)]
就足够了。