Jquery 当属性名称可以更改时,如何获取对象值
我从一个Ajax响应中得到以下回复:Jquery 当属性名称可以更改时,如何获取对象值,jquery,arrays,jquery-ui-autocomplete,Jquery,Arrays,Jquery Ui Autocomplete,我从一个Ajax响应中得到以下回复: [ {s_main: "apple1"}, {s_main: "apple2"}, {s_main: "apple3"}, {s_main: "apple4"} ] 我可以通过以下代码获取响应数组: success: function(data) { response( $.map( data, function( item ) { return { label: item.s_mai
[
{s_main: "apple1"},
{s_main: "apple2"},
{s_main: "apple3"},
{s_main: "apple4"}
]
我可以通过以下代码获取响应数组:
success: function(data) {
response( $.map( data, function( item ) {
return {
label: item.s_main, // how to make this more generic?
}
})
);
我可以得到新的数组,它是:
[{ label: "apple1" }, { label: "apple2" }, { label: "apple3" }, { label: "apple4" }]
…但是s_main
属性名称可以更改为另一个名称,因此我想通过执行类似item[0]
,item[1]
,…,来获取值,但如果这样做,我只会得到一个具有未定义值的数组
如何在不指定硬编码属性名称的情况下获取值?即使属性名称可能不同,您也希望获取属性值 在这种情况下,您可以使用:它返回一个属性值数组,而且由于您使用的对象显然只有一个属性,因此它将是一个只有一个值的数组 在您的代码中,它将如下所示:
return {
label: Object.values(item)[0]
}
您的意思是说,
s_main
属性可能不存在,但您不知道另一个属性的名称,但仍希望获取其值?所以,问题是:当一个对象只有一个属性,但我不知道它的名称时,我如何获得该对象属性的值?我知道它的名称,就像s_main、s_product、s_price等。。。但是一次需要一个名字。这取决于用户按下的按钮。因此,我只想将多个功能组合到一个功能中,通过重复大部分相同的代码来避免冗余。如果没有看到实际的按钮和单击处理程序,很难回答这个问题。但这能解决你的问题吗<代码>标签:Object.values(item)[0]或者item
是否同时具有多个属性?@trincot it works~您节省了我的时间~非常感谢!祝你一天快乐~