[微信小程序]js多维对象定义 [我不知道你说的是什么]


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

  • 你对js数组对象是不是有什么错误理解? {     year:2019 } 这样的year只是一个下标,跟 {     ‘year’:2019 } 是一样的,这里的year不会是一个变量,只是对象中的下标,或者属性。 若想把year变成变量那样,可以使用析构符号, {     [`${year}`]:2019 } 或者 {     [year]:2019 } , 说的貌似很有深意,你能一条一条说么?
    • 是的,我没有理解透彻 ,请问您在哪里看到的这番定义?我这样写成功了,我想去看看具体的说明,重新学习下!万分感谢大神指教!, 你说是那就是了,都听你的
    • https://segmentfault.com/a/1190000010159725, 你这样说,我理解不了。
  • 额, 你没理解Rimifon说的, 其实用[]就好了.{[y]:{[m]:{[d]:{now}}}}, 知足常乐,人生大道呀!
    • 是我没有理解,您的答案也是正解!!!!万分感谢, 阶乘运算式中的数据不匹配!
  • mark, 马克
  • 我这边试了下,没有问题啊 , 嗯,我也觉得没问题
    • 有问题,我的year=2019,month=2,变量没有转化为数字……, 学习数字,要充分利用学习工具哦。
    • 这样子,刚好以前看到过。(看看是不是这个)略微有点复杂 , 话说的太多,要不喝口水冷静一下?
    • 对对对,就是要这样,一定要逐个声明然后定义么?就不能用我那样的方式,直接定义?, 只要能解决问题,什么方式都可以接受。
  • var m = new Date().getMonth();  var obj = { [m] : m };  console.log(obj);, m是什么意思
    • 一个维度的没问题,可以obj【变量名】,问题是多维……,obj【year】【month】【day】不行啊, 不知道你在说什么
    • 你给undefined设置下标当然不行。。。 obj = {[year]:{[month]:{[day]:{now:123}}}} , 此刻 我更愿意保持沉默
    • 正解,谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!, 所以。你太客气了。