2017-03-07 53 views
-1

试图与排序取决于许多的一些数据也如何通过一些内部的它

例如内的对象进行排序对象:

 
    var object = { 
     sort: 15, 
     name: "Value 2" 
    }, 
    { 
     sort: 10, 
     name: "Value 1" 
    } 

所以我基本上要由它里面的“排序”值排序这里的对象。是否有捷径可寻?

谢谢!

+1

不是一个有效的JS代码 –

+0

它必须是一个数组 – pranavjindal999

+0

请使用搜索你问一个新问题之前。如何排序对象的数组已经问过很多很多次。 –

回答

0

如果它是一个数组,然后使用Array#sort方法使用自定义比较函数进行排序。

var object = [{ 
 
    sort: 15, 
 
    name: "Value 2" 
 
    }, 
 
    { 
 
    sort: 10, 
 
    name: "Value 1" 
 
    } 
 
]; 
 

 
object.sort(function(a, b) { 
 
    return a.sort - b.sort 
 
}); 
 

 
console.log(object);

0

考虑这个例子是一个有效的JS:

var myArray = [{ 
     sort: 15, 
     name: "Value 2" 
    }, 
    { 
     sort: 10, 
     name: "Value 1" 
    }] 
myArray.sort(function(item, nextItem){ 
    return item.sort - nextItem.sort; 
}); 
0

我假设你正在谈论对象的数组。即:

var object = [{sort: 15,name: "Value 2"},{sort: 10,name: "Value 1"}] 

在这种情况下,你可以使用Array.prototype.sort()

var obj = [{ 
 
    sort: 15, 
 
    name: "Value 2" 
 
}, { 
 
    sort: 10, 
 
    name: "Value 1" 
 
}] 
 

 
obj.sort(function(itemA, itemB){ 
 
    return itemA.sort - itemB.sort 
 
}); 
 

 
console.log(obj)

0

这可以传递一个比较函数对数组排序功能。

例如:

var someData = [{id:2, name:"Jacob"}, 
       {id:1, name:"Josh"}, 
       {id:3, name:"Trevor"}]; 

someData.sort(function(a,b) { return a.id - b.id}); 
+0

完美工作,谢谢! – Kraxie