var dbname = $dbs[i].split(":")[0];
var count = $dbs[i].split(":")[1];
var obj = {dbname: count};
console.log(obj);
为什么输出是{dbname: '14'}
删除
重试
复制
这段代码的输出结果{dbname: '14'} 是因为它通过字符串的 split()
方法将 $dbs[i]
字符串按照 :
分割成了两个元素的数组,并将第一个元素赋值给变量 dbname
,第二个元素赋值给变量 count
。然后,创建了一个对象 obj
,其中 dbname
属性的值为 count
,也就是'14'
。
因此,最终输出结果 {dbname: '14'}
。
2023/6/12 13:50:46
但是dbname不是变量名吗,为什么会输出变量名而不是变量的值
删除
重试
复制
您对 obj
对象中的 dbname
属性有一些误解。这里的 dbname
并不是一个变量名,而是一个对象属性名。当您在创建 obj
对象时,通过 {}
对象字面量语法来定义了一个对象字面量,该对象字面量中包含一个 dbname
属性名和一个值 count
。
在 JavaScript 中,可以通过使用点标记法(.
)或中括号标记法([]
)来访问对象属性。因此,当您在控制台中打印 obj
时,控制台会将对象中的属性名("dbname")和属性值("14")一并输出,以表示该对象的内容。
2023/6/12 13:51:19
那我要让dbname这个变量的值作为对象属性名应该怎么做
删除
重试
复制
如果您想要使用 dbname
变量的值作为对象的属性名,可以使用计算属性名。计算属性名使用方括号([]
)来定义对象的属性名,可以动态地指定属性名。
例如,您可以将 obj
对象定义如下:
var dbname = $dbs[i].split(":")[0];
var count = $dbs[i].split(":")[1];
var obj = {[dbname]: count};
console.log(obj);
这将创建一个包含一个属性的对象,该属性的属性名将使用 dbname
变量的值动态计算得出,并将该属性名的值设置为 count
。现在 obj
对象将包含 {<dbname_value>: <count_value>}
的属性,其中 <dbname_value>
是变量 dbname
的值,<count_value>
是变量 count
的值。