我认为这在 JS 中是不可能的,但我想在继续之前我会仔细检查。
我在我的数组对象上创建了一个简单的原型,其目的是按键值对数组进行排序。
该函数工作正常,但是我想通过将密钥传递给函数来使其更具可重用性。但是,当我传入一个值时,它是一个字符串,因此无法正确引用。有谁知道如何解决这个问题,所以在下面的示例中,我可以按传入的 key1 而不是硬编码的 key1 进行排序。
我的代码是这个,这里有一个小提琴http://jsfiddle.net/9KLk8/1/
Array.prototype.keySort=function(key1)
{
this.sort(function(a,b) {return (a.height > b.height) ? 1 : ((b.height > a.height) ? -1 : 0);} );
}
var a1 = [
{ key: 1, height : 100 },
{ key: 2, height: 700 },
{ key: 3, height: 200 }
];
a1.keySort("height");
console.log(a1);