Javascript 按第一个键值对组织数组中的项
我正在尝试按对象的第一个键/值组织数组中对象的索引 我有一个数组对象,它们没有按应有的方式组织 它们必须有序,以便我可以适当地添加它们的计时器。你可以在下面看到,它们杂乱无章,计时器乱七八糟 我尝试添加对象关键点,但这使一切变得复杂。谢谢Javascript 按第一个键值对组织数组中的项,javascript,arrays,node.js,object,Javascript,Arrays,Node.js,Object,我正在尝试按对象的第一个键/值组织数组中对象的索引 我有一个数组对象,它们没有按应有的方式组织 它们必须有序,以便我可以适当地添加它们的计时器。你可以在下面看到,它们杂乱无章,计时器乱七八糟 我尝试添加对象关键点,但这使一切变得复杂。谢谢 var myObject = [ { stepNumber: 2, sendTimeFromNow: 259200000 }, { stepNumber: 1, sendTimeFromNow: 259200000 } ]
var myObject =
[
{ stepNumber: 2,
sendTimeFromNow: 259200000 },
{ stepNumber: 1,
sendTimeFromNow: 259200000 }
]
基本的数组排序应该可以工作
myObject.sort((a, b) => {
return a < b ? -1 : a > b ? 1 : 0;
});
myObject.sort((a,b)=>{
返回ab-1:0;
});
在您的情况下,您需要比较a和b上的属性:
myObject.sort((a, b) => {
return a.stepNumber < b.stepNumber ? -1 : a.stepNumber > b.stepNumber ? 1 : 0;
});
myObject.sort((a,b)=>{
返回a.stepNumberb.stepNumber?1:0;
});
您可以使用数组.排序
。下面是一个it实际应用的示例:
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;
});
myObject.sort(函数(a,b){
var setNumberA=123,//一些数字
setNumberB=4567;//其他一些数字
//然后比较两个日期
if(setNumberAsetNumberB)返回1;
返回0;
});
希望这有帮助 使用排序
按步骤编号排序(升序或降序交替a和b)
myObject.sort((a,b)=>a.stepNumber-b.stepNumber)
如果它只是一个文本,请重写顺序,使其正常工作。如果它是动态构造的,请向我们展示执行此操作的代码。您是否尝试过myObject.sort(properticalcomarisonfunction)
?只是好奇,您在发布问题之前是否尝试过研究此问题?您可能想看看这一点,这就是我从这项工作中得到答案的原因很棒!thnksthanks zoe-很有帮助,但不如ryans;)但它值得投反对票吗?