js多维对象定义
发布于 6 年前 作者 yuanqiang 2597 次浏览 来自 问答

遇到了这样的设计需求,多维对象,且属性名为数字,用变量就定义失败,不用变量就行。当year、month、day为变量的时候就无法定义

5 回复

你对js数组对象是不是有什么错误理解?

{

    year:2019

}

这样的year只是一个下标,跟

{

    ‘year’:2019

}

是一样的,这里的year不会是一个变量,只是对象中的下标,或者属性。

若想把year变成变量那样,可以使用析构符号,

{

    [`${year}`]:2019

}

或者

{

    [year]:2019

}

我这边试了下,没有问题啊

额, 你没理解Rimifon说的, 其实用[]就好了.{[y]:{[m]:{[d]:{now}}}}

var m = new Date().getMonth();

 var obj = { [m] : m };

 console.log(obj);

回到顶部