0

我有一个带有这些属性键的对象:

instance['banana'];
instance['cl'];
instance['cl2'];
instance['minion'];
instance['cl3'];

我想确定以 . 开头的属性键中的最高数字是多少'cl'。因此,在过滤后的“cl”中,我想要在其键中具有最高数字的“cl”,而不是在其值中。(在本例中,这将是“cl3”)。

到目前为止,我能够访问instance属性键Object.keys(instance)(据我所知,这些键仅适用于现代浏览器,但没关系)。现在我只需要过滤掉所有'cl's ,然后找出哪个数字最高。

我想我应该寻找Math.max找出最高的数字。

向正确的方向轻推,赞成吗?谢谢 :)

4

1 回答 1

1
var cls = Object.keys(instance).map(function(key){
  return /^cl/.test(key) && +key.replace(/\D+/,'');
});
//^= [false,"",2,false,3] == [0,0,2,0,3]

var maxCl = 'cl'+ Math.max.apply(0, cls); //= "cl3"
于 2013-06-26T09:47:00.303 回答