相关疑难解决方法(0)

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万
查看次数

按特定顺序对PHP中的对象数组进行排序

我在PHP中有两个数组.第一个数组($ author_array)由特定顺序的user_ids组成,如下所示:(8,1,6)

第二个数组($ user_results)由一组对象组成,如下所示:

Array
(
    [0] => stdClass Object
        (
            [ID] => 1
            [user_login] => user1
        )
    [1] => stdClass Object
        (
            [ID] => 6
            [user_login] => user6
        )
    [2] => stdClass Object
        (
            [ID] => 8
            [user_login] => user8
        )
)
Run Code Online (Sandbox Code Playgroud)

我想"排序"第二个数组,使其按此顺序排列,它与第一个数组(8,1,6)中的值的顺序相匹配.所以它看起来像这样:

Array
(
    [0] => stdClass Object
        (
            [ID] => 8
            [user_login] => user8
        )
    [1] => stdClass Object
        (
            [ID] => 1
            [user_login] => user1
        )
    [2] => stdClass Object
        (
            [ID] => 6
            [user_login] => …
Run Code Online (Sandbox Code Playgroud)

php arrays object

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

如何根据另一个数组的顺序对对象数组进行排序?

我有一个对象列表:

[ { id: 4, name:'alex' }, { id: 3, name:'jess' }, { id: 9, name:'...' }, { id: 1, name:'abc' } ]
Run Code Online (Sandbox Code Playgroud)

我有另一个正确的"订单"列表.

[ 3, 1, 9, 4]
Run Code Online (Sandbox Code Playgroud)

如何根据键"id"将第一个列表与第二个列表的顺序相匹配?结果应该是:

[ { id: 3, name:'jess' }, { id: 1, name:'abc' }, { id: 9, name:'...' }, { id: 4, name:'alex' } ]
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting algorithm json

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

Sort array of objects

I've had trouble with the examples in the PHP manual, so I'd like to ask this here...

I have an array of objects.. Is there a way to sort it based on the contents of the object?

For example, my array is:

Array
(
    [0] => stdClass Object
        (
            [id] => 123
            [alias] => mike
        )

    [1] => stdClass Object
        (
            [id] => 456
            [alias] => alice
        )

    [2] => stdClass Object
        (
            [id] => 789
            [alias] => zeke
        ) …
Run Code Online (Sandbox Code Playgroud)

php sorting oop multidimensional-array

6
推荐指数
1
解决办法
3156
查看次数

基于另一个键数组对对象数组进行排序

我有两个包含对象的数组.一个包含某些顺序的键,另一个包含数据,我需要按照给定的排序键数组对数据数组进行排序.我怎样才能做到这一点?

var a = ['d','a','b','c'] ;
var b =  [{a:1},{c:3},{d:4},{b:2}];
Run Code Online (Sandbox Code Playgroud)

结果应该是:

result = [{d:4},{a:1},{b:2},{c:3]
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
2
解决办法
1222
查看次数

Javascript 按键值对对象数组进行排序

我试图对包含具有“在线”、“离线”、“忙碌”状态键的对象数组进行排序,因此只想以所有“在线”都出现在顶部的方式对数组进行排序,然后是“忙碌” ”然后“离线”

var arr = [{_id: "58e21249", name: "test2", status: "offline"},
           {_id: "58e1249", name: "test3", status: "online"},
           {_id: "58qwe49", name: "test21", status: "offline"},
           {_id: "58ed49", name: "test212", status: "online"},
           {_id: "58ee49", name: "test23", status: "offline"},
           {_id: "58xe49", name: "test12", status: "online"},
           {_id: "5849", name: "test2323", status: "busy"},
           {_id: "58er49", name: "test2121", status: "busy"}];

arr.sort(function(first, second) {
   if (second.status == "online") return 1;

 });

console.log(arr);
Run Code Online (Sandbox Code Playgroud)

这只会返回我的状态:顶部的“在线”。谢谢

javascript arrays sorting

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