2014-10-16 40 views
1

我有这个库howler.min.js,我用它来分割一个MP3分4部分。 这是我的代码,我创建了声音的变量:从对象的内容获得值

var sound = new Howl({ 
    urls: ['singasong.mp3'], 

    sprite: { //function 
    w0: [360, 290], //[begining,duration in milliseconds] 
    w1: [650, 450], 
    w2: [1110, 280], 
    w3: [1270, 330], 
    w4: [1600, 210] 
    } 
}); 

我想要得到的括号(290,450,280,330,210)内的第二个值,并获得一个数组。 我tryed与此两种方法:

a = $.makeArray(sound.sprite.arguments); // One way to do it 
a = sound.sprite.arguments.toArray(); // The other way 

,但没有奏效。

任何人都可以帮助我吗?提前致谢!

+1

首先要注意的一点:“精灵”属性的值是** **不是一个功能。它是一个具有属性的对象。 – Pointy 2014-10-16 13:48:52

+0

对不起,我在错误的地方发布了评论 – 2014-10-16 13:54:16

回答

4

您需要遍历sprite对象的键和索引1推数组值:

var values = []; 
for (var key in sound.sprite) { 
    values.push(sound.sprite[key][1]); 
} 
+3

是的。应该注意的是(这个评论可能足够了),并不能保证对属性名称的迭代将以任何特定的顺序进行。在大多数JavaScript运行时,您可能会*按照声明顺序获取它们,但该对象上的任何后续活动都可能导致该顺序发生更改。 – Pointy 2014-10-16 13:51:03