按属性值对对象的javascript数组排序,并按条件重新排序

按属性值对对象的javascript数组排序,并按条件重新排序,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,我有一组对象,如: var newArray=[ {value:“P1”}, {值:“P2/S2”}, {value:“P2”}, {value:“P1”}, {值:“P1/S2”}, {值:“P1/S3”}, {值:“P2/S1”}, {值:“P1/S3”}, {值:“P2/S2”}, {value:“P1”}, {value:“P2”}, {值:“P3”} ]; 功能比较(a、b){ 如果(a值b值){ 返回1; } 返回0; } 排序(比较); log(newArray)您可以添加后缀并

我有一组对象,如:

var newArray=[
{value:“P1”},
{值:“P2/S2”},
{value:“P2”},
{value:“P1”},
{值:“P1/S2”},
{值:“P1/S3”},
{值:“P2/S1”},
{值:“P1/S3”},
{值:“P2/S2”},
{value:“P1”},
{value:“P2”},
{值:“P3”}
];
功能比较(a、b){
如果(a值b值){
返回1;
}
返回0;
}
排序(比较);

log(newArray)您可以添加后缀并将较小的字符串排序到底部

函数比较({value:a},{value:b}){
a+=‘ZZZ’;
b+=‘ZZZ’;
返回a>b | |-(a

。作为控制台包装{max height:100%!important;top:0;}
您可以添加后缀并将较小的字符串排序到底部

函数比较({value:a},{value:b}){
a+=‘ZZZ’;
b+=‘ZZZ’;
返回a>b | |-(a

。作为控制台包装{最大高度:100%!重要;顶部:0;}
可能会计算重量值?例如:

function computeWeight(str) {
  var weight = 0;
  for (var i = str.length-1; i >= 0; i--) {
    weight = weight + (str.charCodeAt(i) * Math.pow(10, i));
  }
  return weight;
}

这样,较长的字符串将比较小的字符串具有更大的权重,因为它们有更多的符号。然后您可以在您的
比较中使用该函数

也许可以计算值权重?例如:

function computeWeight(str) {
  var weight = 0;
  for (var i = str.length-1; i >= 0; i--) {
    weight = weight + (str.charCodeAt(i) * Math.pow(10, i));
  }
  return weight;
}
这样,较长的字符串将比较小的字符串具有更大的权重,因为它们有更多的符号。然后您可以在
比较中使用该函数