相关疑难解决方法(0)

按字符串属性值对对象数组进行排序

我有一个JavaScript对象数组:

var objs = [ 
    { first_nom: 'Lazslo', last_nom: 'Jamf'     },
    { first_nom: 'Pig',    last_nom: 'Bodine'   },
    { first_nom: 'Pirate', last_nom: 'Prentice' }
];
Run Code Online (Sandbox Code Playgroud)

如何根据last_nomJavaScript中的值对它们进行排序?

我知道sort(a,b),但这似乎只适用于字符串和数字.我是否需要为toString()对象添加方法?

javascript arrays sorting

2535
推荐指数
44
解决办法
137万
查看次数

按键排序JavaScript对象

我需要按键对JavaScript对象进行排序.

因此如下:

{ 'b' : 'asdsad', 'c' : 'masdas', 'a' : 'dsfdsfsdf' }
Run Code Online (Sandbox Code Playgroud)

会成为:

{ 'a' : 'dsfdsfsdf', 'b' : 'asdsad', 'c' : 'masdas' }
Run Code Online (Sandbox Code Playgroud)

javascript sorting

456
推荐指数
21
解决办法
47万
查看次数

Javascript - 基于另一个数组排序数组

是否可以对如下所示的数组进行排序和重新排列:

itemsArray = [ 
    ['Anne', 'a'],
    ['Bob', 'b'],
    ['Henry', 'b'],
    ['Andrew', 'd'],
    ['Jason', 'c'],
    ['Thomas', 'b']
]
Run Code Online (Sandbox Code Playgroud)

匹配此数组的排列:

sortingArr = [ 'b', 'c', 'b', 'b', 'a', 'd' ]
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有任何ID可以跟踪.我需要优先使items-array与sortedArr匹配尽可能接近.

更新:

这是我正在寻找的输出:

itemsArray = [    
    ['Bob', 'b'],
    ['Jason', 'c'],
    ['Henry', 'b'],
    ['Thomas', 'b']
    ['Anne', 'a'],
    ['Andrew', 'd'],
]
Run Code Online (Sandbox Code Playgroud)

知道如何做到这一点?

javascript

131
推荐指数
13
解决办法
9万
查看次数

如何按多个字段对对象数组进行排序?

从这个原始问题,我将如何在多个字段上应用排序?

使用这种略微适应的结构,我如何排序城市(升序)然后价格(降序)?

var homes = [
    {"h_id":"3",
     "city":"Dallas",
     "state":"TX",
     "zip":"75201",
     "price":"162500"},
    {"h_id":"4",
     "city":"Bevery Hills",
     "state":"CA",
     "zip":"90210",
     "price":"319250"},
    {"h_id":"6",
     "city":"Dallas",
     "state":"TX",
     "zip":"75000",
     "price":"556699"},
    {"h_id":"5",
     "city":"New York",
     "state":"NY",
     "zip":"00010",
     "price":"962500"}
    ];
Run Code Online (Sandbox Code Playgroud)

我喜欢这个事实而不是给出一个通用方法的答案.在我计划使用此代码的地方,我将不得不对日期以及其他内容进行排序."引导"物体的能力似乎很方便,如果不是有点麻烦.

我试图将这个答案构建成一个很好的通用示例,但我没有太多运气.

javascript arrays sorting

113
推荐指数
13
解决办法
12万
查看次数

按对象键值在javascript中对数组进行排序

您如何按距离对这些对象进行排序.那么你有从最小距离到最大距离排序的对象?

Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting object

51
推荐指数
6
解决办法
6万
查看次数

在 JavaScript 中对数组进行排序

我正在尝试对内部包含整数的数组进行排序,例如:

var array = [[123, 3], [745, 4], [643, 5], [643, 2]];
Run Code Online (Sandbox Code Playgroud)

如何对其进行排序以返回如下内容?

array = [[745, 4], [643, 2], [643, 5], [123, 3]];
Run Code Online (Sandbox Code Playgroud)

javascript

16
推荐指数
3
解决办法
2万
查看次数

如何在Javascript中对关联数组进行排序?

我需要通过JS为我的一个项目排序关联数组.我发现这个函数在firefox中运行得很好,但不幸的是它在IE8,OPERA,CHROME中无法工作......无法找到使其在其他浏览器中工作的方法,或找到适合其目的的另一个函数.我非常感谢任何帮助.

function sortAssoc(aInput)
{
    var aTemp = [];
    for (var sKey in aInput) aTemp.push([sKey, aInput[sKey].length]);
    aTemp.sort(function () {return arguments[0][1] < arguments[1][1]});
    var aOutput = new Object();
    //for (var nIndex = aTemp.length-1; nIndex >=0; nIndex--)
    for (var nIndex = 0; nIndex <= aTemp.length-1; nIndex++)
        aOutput[aTemp[nIndex][0]] = aInput[aTemp[nIndex][0]];
    //aOutput[aTemp[nIndex][0]] = aTemp[nIndex][1];
    return aOutput;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting associative

4
推荐指数
1
解决办法
6701
查看次数

包含未定义值的Javascript不区分大小写的排序对象

我有一个对象数组

说,

var fruits = [
   {name:'apple', capital:'sample'},
   {name:'Tomato', capital:'sample'},
   {name:'jack fruit', capital:'sample'},
   {name:undefined, capital:'sample'},
   {name:'onion', capital:'sample'},
   {name:'Mango', capital:'sample'},
   {name:'Banana', capital:'sample'},
   {name:'brinjal', capital:'sample'}
];
Run Code Online (Sandbox Code Playgroud)

我需要按名称对数组进行升序排序

  1. 该对象可能包含未定义名称
  2. 对象名称可能是大写和小写的混合(所以它必须是不区分大小写的搜索)

如果数组有undefined,那么该对象应该被推到排序列表的末尾。

预期输出

var fruits = [
   {name:'apple', capital:'sample'},
   {name:'Banana', capital:'sample'},
   {name:'brinjal', capital:'sample'},
   {name:'jack fruit', capital:'sample'},
   {name:'Mango', capital:'sample'},
   {name:'onion', capital:'sample'},
   {name:'Tomato', capital:'sample'},
   {name:undefined, capital:'sample'}
];
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

3
推荐指数
1
解决办法
1585
查看次数

Javascript基于数字键对对象数组进行排序

我有一个对象数组,如下所示:

var data = [
 {
   title: 'Shirt',
   position: 3
 },
 {
   title: 'Ball',
   position: 1,
 }
]
Run Code Online (Sandbox Code Playgroud)

我怎么能把它分类用于for loop这样的.

for(var i in data) {

}
Run Code Online (Sandbox Code Playgroud)

我试过了:

for(var i in data | orderBy:'position')

但这是有角度的正常Javascript它不起作用.

我认为他们必须在循环之前对数组进行排序,或者在循环中添加过滤器,不确定哪种方法最好.

javascript

2
推荐指数
1
解决办法
5980
查看次数

标签 统计

javascript ×9

sorting ×6

arrays ×5

associative ×1

object ×1