Javascript 如何使用包含其键名的变量访问对象属性

Javascript 如何使用包含其键名的变量访问对象属性,javascript,arrays,variables,prototype,Javascript,Arrays,Variables,Prototype,我认为这在JS中是不可能的,但我想在继续之前我会仔细检查一下 我在数组对象上创建了一个简单的原型,它的目的是按键值对数组进行排序 该函数工作正常,但我希望通过向函数中传递一个键,使其更易于重用。但是,当我传入一个值时,它是一个字符串,因此不能正确引用。是否有人知道如何解决这个问题,所以在我下面的示例中,我可以按传入的键1而不是硬编码的键1进行排序 我的密码是这个,一把小提琴在上面 使用括号语法: Array.prototype.keySort=function(key1) { this.

我认为这在JS中是不可能的,但我想在继续之前我会仔细检查一下

我在数组对象上创建了一个简单的原型,它的目的是按键值对数组进行排序

该函数工作正常,但我希望通过向函数中传递一个键,使其更易于重用。但是,当我传入一个值时,它是一个字符串,因此不能正确引用。是否有人知道如何解决这个问题,所以在我下面的示例中,我可以按传入的键1而不是硬编码的键1进行排序

我的密码是这个,一把小提琴在上面


使用括号语法:

Array.prototype.keySort=function(key1)
{
    this.sort(function(a,b) {return (a[key1] > b[key1]) ? 1 : ((b[key1] > a[key1]) ? -1 : 0);} );
}

jsiddle:

使用括号语法:

Array.prototype.keySort=function(key1)
{
    this.sort(function(a,b) {return (a[key1] > b[key1]) ? 1 : ((b[key1] > a[key1]) ? -1 : 0);} );
}

jsiddle:

是的,您可以这样做,因为使用JavaScript,您可以使用点符号和文字(
a.height
)或括号符号和字符串(
a[“height”]
)访问属性。在后一种情况下,字符串不必是文本字符串,它可以是任何表达式的结果,包括变量引用


因此,
a[key1]
将访问由
key1
变量命名的属性。

是的,您可以这样做,因为使用JavaScript,您可以使用点符号和文字(
a.height
)或括号符号和字符串(
a[“height”]
)访问属性。在后一种情况下,字符串不必是文本字符串,它可以是任何表达式的结果,包括变量引用


因此,
a[key1]
将访问由
key1
变量命名的属性。

您的标题与您的问题无关,您的问题是关于如何使用变量键名访问对象属性。您的标题与您的问题无关,这是关于如何使用可变键名访问对象属性的。当然,这是我大脑不活动的一个星期五,非常感谢:)当然,这是我大脑不活动的一个星期五,非常感谢:)