This question already has answers here:
Sort array of objects by string property value
                                
                                    (44个答案)
                                
                        
                                去年关闭。
            
                    
我有一个包含对象列表的数组。
javascript - 如何在javascript中对对象列表进行排序?-LMLPHP

数组的每个值如下所示:
javascript - 如何在javascript中对对象列表进行排序?-LMLPHP

我想对名称进行排序:elements[ele].options.name

这是我想要做的,但不为我工作

           var sortedElements = elements.sort(function (a, b) {
                return a.options.name - b.options.name
            });
            for (var ele in sortedElements) {
                if (sortedElements.hasOwnProperty(ele)) {
                    if (!sortedElements[ele].options.outOfNetworkFlag) {
                        if (sortedElements[ele].options.category === "person") {
                            assignCount++
                        }
                        if (sortedElements[ele].options.category === "unknown") {
                            unassignCount++
                        }
                    }
                    else {
                        oonCount++;
                    }

                    occupancylist += '<a href="#" class="elementLink"><li style="list-style: none" data-elementid="' + sortedElements[ele].options.elementId + '">' + sortedElements[ele].options.icon.options.html + ' ' + sortedElements[ele].options.name + '</li></a>';
                }
            }


请提出建议。

最佳答案

您可以使用sort方法

  var items = [
      { name: 'saurabh'},
      { name: 'hello'},
      { name: 'jsbee'},
      { name: 'abc'}
    ];

    // sort by name
    items.sort(function(a, b) {
      var nameA = a.name.toUpperCase(); // ignore upper and lowercase
      var nameB = b.name.toUpperCase(); // ignore upper and lowercase
      if (nameA < nameB) {
        return -1;
      }
      if (nameA > nameB) {
        return 1;
      }

      // names must be equal
      return 0;
    });

09-17 08:32