在javascript中按特定值排序数组

时间:2016-03-21 13:01:28

标签: javascript sorting reverse

如果我有一个类似的数组:

var myArray = []

for(i = 0; i < 10; i++) {
 myArray.unshift({
  myString: 'string'+ i +'',
  myValue: i;
 });
}

并希望通过&#39; myValue&#39;对其进行排序。值。像

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

然而,这不起作用。

2 个答案:

答案 0 :(得分:1)

您的意思是希望按 myValue 排序?

<application id="" name="Scholar" type="ear" location="scholar.ear">
  <classloader delegation="parentLast" />
</application>

答案 1 :(得分:0)

如果您只想对一个对象属性进行排序(同时保持其他对象不变),那么您需要做的是复制数组中每个项目的特定属性,对其进行排序,然后将属性复制回来过:

// make a copy of the myValues into a new array containing just those
var myValueArray = myArray.map(function(item) { return item.myValue; });
// sort just the myValues in the copy 
myValueArray.sort();
// copy the sorted myValues back
myValueArray.forEach(function(item, index){ myArray[index].myValue = item; });