使用变量作为名称将属性添加到JavaScript对象?我使用jQuery从DOM中提取项目,并希望使用idDOM元素在对象上设置属性。例const obj = {}jQuery(itemsFromDom).each(function() {
const element = jQuery(this)
const name = element.attr('id')
const value = element.attr('value')
// Here is the problem
obj.name = value})如果itemsFromDom包含一个带有id“myId” 的元素,我想要obj一个名为“myId”的属性。以上给了我name。如何使用JavaScript使用变量命名对象的属性?
4 回答
冉冉说
TA贡献1877条经验 获得超1个赞
使用ECMAScript 2015,您可以使用括号表示法直接在对象声明中执行此操作:
var obj = { [key]: value}
哪里key
可以是任何类型的表达式(例如变量)返回值:
var obj = { ['hello']: 'World', [x + 2]: 42, [someObject.getId()]: someVar}
三国纷争
TA贡献1804条经验 获得超7个赞
您甚至可以像这样制作对象列表
var feeTypeList = [];$('#feeTypeTable > tbody > tr').each(function (i, el) { var feeType = {}; var $ID = $(this).find("input[id^=txtFeeType]").attr('id'); feeType["feeTypeID"] = $('#ddlTerm').val(); feeType["feeTypeName"] = $('#ddlProgram').val(); feeType["feeTypeDescription"] = $('#ddlBatch').val(); feeTypeList.push(feeType);});
添加回答
举报
0/150
提交
取消