2017-02-14 59 views
0

我试图通过他们的第一个键/值在阵列组织项目由第一键值对

组织对象的索引数组我有没有组织像他们应该是一个数组对象。

他们必须按顺序,以便我可以适当地添加他们的计时器。你可以看到下面他们没有组织,定时器搞砸了。

我尝试添加对象键,但它复杂一切。谢谢

var myObject = 
[ 
    { stepNumber: 2, 
    sendTimeFromNow: 259200000 }, 
    { stepNumber: 1,  
    sendTimeFromNow: 259200000 } 
] 
+0

如果它只是一个文字,改写顺序,这样它的作品。如果它是动态构建的,请向我们展示那些代码。 – Bergi

+2

你尝试过'myObject.sort(appropriateComparisonFunction)'吗? – Bergi

+1

只是好奇,你在发布这个问题之前是否尝试过研究这个问题? –

回答

0

基本数组排序应该工作。

myObject.sort((a, b) => { 
    return a < b ? -1 : a > b ? 1 : 0; 
}); 

在你的情况,你需要在A和B的比较特性:

myObject.sort((a, b) => { 
    return a.stepNumber < b.stepNumber ? -1 : a.stepNumber > b.stepNumber ? 1 : 0; 
}); 
+0

这个很好用! thhks –

-1

您可以使用Array.sort。下面是它的一个例子:

myObject.sort(function(a, b){ 
    var setNumberA = 123, //some number 
     setNumberB = 4567; //some other number 
    // Then just compare the 2 dates 
    if(setNumberA < setNumberB) return -1; 
    if(setNumberA > setNumberB) return 1; 
    return 0; 
}); 

希望这有助于!

+0

谢谢佐伊 - 有帮助但不像ryans;) –

+0

但它值得投票? – pudility

0

使用排序。通过STEPNUMBER(交替的A和B升序或降序)

订购

myObject.sort((a, b) => a.stepNumber - b.stepNumber)