相关疑难解决方法(0)

根据另一个数组中的数据对数组进行排序

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

items = [{"id":"5","tobuy":"1","name":"pop"},
         {"id":"6","tobuy":"1","name":"fish"},
         {"id":"7","tobuy":"0","name":"soda"}]
pkgs =  [{"item_id":"5","store":"Market","aisle":"3"},
         {"item_id":"6","store":"Market","aisle":"2"},
         {"item_id":"6","store":"Dept","aisle":"8"},
         {"item_id":"7","store":"Market","aisle":"4"}]
Run Code Online (Sandbox Code Playgroud)

我正在尝试对items数组进行排序,但我想利用pkgs数组中的数据.
pkgs数组中的"item_id"字段对应于items数组中的"id"字段.
例如,我想排序:

  • 首先按降序排序"tobuy"
  • 然后通过"商店"
  • 然后通过"过道"
  • 然后通过"名字"

虽然item_id和id在两个数组之间对应,但是没有1对1的关系.可能有0个或更多pkgs对应于任何给定项目.

(如果我有一个数据库,我只会加入表,但在JavaScript中我只有两个相关的数组).

我不确定如何构建比较器函数并传入第二个数组.

谢谢你的帮助.

javascript arrays sorting

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

过滤和排序 JavaScript 数组

我有一个这样的数组:

[{
    "number": "4",
    "fileName": "fileXX",
    "rating": {
        "average": 6.4
    }
}, {
    "number": "3",
    "fileName": "fileXX",
    "rating": {
        "average": 5.4
    }
}, {
    "number": "4",
    "fileName": "fileXX",
    "rating": {
        "average": 5.4
    }
}]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下条件创建一个新数组:

  1. 获得array.rating.average每个数字 ( array.number) 的最高评分( )

输出应该是:

[{
    "number": "4",
    "fileName": "fileXX",
    "rating": {
        "average": 6.4
    }
}, {
    "number": "3",
    "fileName": "fileXX",
    "rating": {
        "average": 5.4
    }
}
}]
Run Code Online (Sandbox Code Playgroud)

我刚刚设法按最高评分排序:

array.sort(function(a , b) {
    return a.rating.average - b.rating.average;
});
array.reverse();
Run Code Online (Sandbox Code Playgroud)

但是,现在,我只想要每个副本一个对象array.number …

javascript arrays sorting

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

Javascript - 按2个属性排序对象数组

我想通过2个不同的属性对对象数组进行排序.

这些是我的对象

array = [{ resVal: "25FA15", resFlow: 49, resName: "Rendimiento Tri-Seal Completo", resPhoto: "Tri-Sealseries.png", resHP: 1.5 },
 { resVal: "25FA2", resFlow: 52, resName: "Rendimiento Tri-Seal Completo", resPhoto: "Tri-Sealseries.png", resHP: 2 },
{ resVal: "45FA2", resFlow: 53, resName: "Rendimiento Hi-Cap Completo", resPhoto: "HighCapseries.png", resHP: 2 },
{ resVal: "35FA2", resFlow: 59, resName: "Rendimiento Hi-Cap Completo", resPhoto: "HighCapseries.png", resHP: 2 }]
Run Code Online (Sandbox Code Playgroud)

我想通过更高的"resFlow"值对数组进行排序,但是具有最低的"resHP"值.

我想把我的数组放到这样:

array = [{ resVal: "25FA15", resFlow: 49, resName: "Rendimiento Tri-Seal Completo", resPhoto: "Tri-Sealseries.png", resHP: 1.5 },
{ resVal: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

7
推荐指数
2
解决办法
4770
查看次数

javascript按字符串属性排序对象数组

我试图通过属性对对象数组进行排序title.这是我正在运行的代码片段,但它没有排序任何东西.数组按原样显示.PS我看了以前类似的问题.例如,这里建议并使用我正在使用的相同方法.

javascript:

function sortLibrary() {
    // var library is defined, use it in your code
    // use console.log(library) to output the sorted library data
    console.log("inside sort");
    library.sort(function(a,b){return a.title - b.title;});
    console.log(library);
} 

// tail starts here
var library = [
    {
        author: 'Bill Gates',
        title: 'The Road Ahead',
        libraryID: 1254
    },
    {
        author: 'Steve Jobs',
        title: 'Walter Isaacson',
        libraryID: 4264
    },
    {
        author: 'Suzanne Collins',
        title: 'Mockingjay: The Final Book of The Hunger Games',
        libraryID: 3245 …
Run Code Online (Sandbox Code Playgroud)

javascript

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

用多个点对两个"数字"排序

我有一个无序列表,看起来像这样:

1.1.1
1.1.1.1
1.1.2
1.10.1
1.10.2
1.2.1
1.2.2
1.2.3
1.2.4
1.20.1
1.3.1
Run Code Online (Sandbox Code Playgroud)

我想在Javascript中将其排序为"数字"顺序.

1.1.1
1.1.1.1
1.1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.3.1
1.10.1
1.10.2
1.20.1
Run Code Online (Sandbox Code Playgroud)

我需要哪种功能?

javascript sorting numerical

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

基于整数而不是字符串按升序对数组进行排序

我有一个这种结构的数组:

myArray = [ [<number>, [<string>] ], [<number>, [<string>] ], ... ];
Run Code Online (Sandbox Code Playgroud)

我想根据整数对数组进行排序.不幸的是,当我在myArray上调用.sort()时,它会返回一个根据字符串排序的数组.我该怎么解决这个问题?

javascript arrays multidimensional-array

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

使用多个键排序数组对象:Javascript

好吧,我有一个带随机值的数组对象,Ex.

var arr = [
    { id:1001, date:"20-02-2014", Name: 'demo1' },
    { id:1004, date:"13-02-2014", Name: 'demo0' },
    { id:1000, date:"10-02-2014", Name: 'demo14' },
    { id:1004, date:"16-02-2014", Name: 'demo10' },
    { id:1006, date:"22-02-2014", Name: 'demo111' },
    { id:1003, date:"28-02-2014", Name: 'demo16' },
    { id:1000, date:"28-01-2014", Name: 'demo12' },
    { id:1004, date:"28-01-2014", Name: 'demo01' },
    { id:1000, date:"08-01-2014", Name: 'demo41' },
    { id:1006, date:"08-01-2014", Name: 'demo91' }
]
Run Code Online (Sandbox Code Playgroud)

我想首先按键id然后按键排序这个数组date,

输出:

sorted_arr = [
 {"id":1000,"date":"08-01-2014","Name":"demo41"}, //group1
 {"id":1000,"date":"28-01-2014","Name":"demo12"}, //group1
 {"id":1000,"date":"10-02-2014","Name":"demo14"}, …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

5
推荐指数
2
解决办法
5767
查看次数

按对象键按Javascript /下划线的降序排序

我有以下对象数组,其中键是UTC格式的日期.

    Array = [{1436796000000:["Task1","Task2"],
         1437400800000:["Task4","Task8"],
         1436968800000: ["Task3","Task2"],
         1436882400000:["Task5","Task6"]}]
Run Code Online (Sandbox Code Playgroud)

我想按键降序排序这个数组对象.因此预期的输出将跟随最新的日期将首先出现.

    Array = [{1437400800000:["Task4","Task8"],
             1436968800000: ["Task3","Task2"],
             1436882400000:["Task5","Task6"],
             1436796000000:["Task1","Task2"]}]
Run Code Online (Sandbox Code Playgroud)

我怎么能在javascript或使用underscore.js这样做?

javascript arrays sorting underscore.js

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

JS对象的Intl.Collat​​or

我在任何地方都找不到使用collat​​or.compare排序对象的任何示例。有人可以提供吗?到目前为止,我遇到的所有文档和示例都涉及到show array sorting,如下所示:

var myArray = ['1_Document', '11_Document', '2_Document'];        
var collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
myArray.sort(collator.compare)
Run Code Online (Sandbox Code Playgroud)

很高兴看到它如何对像

var objs = [{name: '1_Document', size: 40}, {name: '11_Document', size: 50}, {name: '2_Document', size: 60}];
Run Code Online (Sandbox Code Playgroud)

javascript collator

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

如何按es6/React中的特定字段对地图进行排序?

我有这张地图,我想按"id"值排序:

{products.map(({ id, headline }) => (
  <Container>
    <Row key={id}>
      <Col>
        <p>id={id}</p>
        <p>headline={headline}</p>
      </Col>
    </Row>
  </Container>
))}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

javascript reactjs

5
推荐指数
2
解决办法
2687
查看次数