相关疑难解决方法(0)

用于对对象数组进行排序的简单函数

我想创建一个(非匿名)函数,按键按字母顺序对对象数组进行排序name.我只编写直接的JavaScript代码,所以框架至少对我没用.

var people = [
    {'name': 'a75', 'item1': false, 'item2': false},
    {'name': 'z32', 'item1': true,  'item2': false},
    {'name': 'e77', 'item1': false, 'item2': false}
];
Run Code Online (Sandbox Code Playgroud)

javascript sorting

37
推荐指数
4
解决办法
10万
查看次数

对键值进行排序

我有一个函数,它按名称排序当前和一组值/键对.

我想知道如何传递正在执行哪种键的键,这样我每次都可以调用相同的函数:

var arr = [{name:'bob', artist:'rudy'},
           {name:'johhny', artist:'drusko'},
           {name:'tiff', artist:'needell'},
           {name:'top', artist:'gear'}];

sort(arr, 'name');   //trying to sort by name
sort(arr, 'artist'); //trying to sort by artist

function sort(arr) {
  arr.sort(function(a, b) {
    var nameA=a.name.toLowerCase(), nameB=b.name.toLowerCase();
    if (nameA < nameB) //sort string ascending
      return -1;
    if (nameA > nameB)
      return 1;
    return 0; //default return value (no sorting)
   });          
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays tags sorting

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

如何将Math.max与对象数组一起使用?

我想选择一个对象数组中的最大数字,所以例如,我想获得x拥有最大数字的属性(在这个例子中,maximum应该是200):

var myArr = [{x:100,y:200},{x:200,y:500}];

//does not work:
var maximum = Math.max.apply(Math,myArr.x);
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
2
解决办法
5356
查看次数

如何通过单个整数字段对JSON进行排序?

我有以下JSON:

{
    title: 'title',
    ...,
    order: 0
}, {
    ...,
    order: 9
}, {
    ...,
    order: 2
}
Run Code Online (Sandbox Code Playgroud)

... JSON包含许多字段,如何根据订单字段对它们进行排序

我正在寻找构建到nodejs中的东西,但我找不到任何可能对这种情况有用的东西.

javascript sorting json node.js

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

从对象创建嵌套列表

我有以下对象

var json = {
    items:[
        {id:45 , lable:"Test 1.2.1", parent_id: 2},
        {id:12, lable:"Test 1.0", parent_id: 0},
        {id:32, lable:"Test 1.1", parent_id: 12},
        {id:2, lable:"Test 1.2", parent_id: 12}
    ]
}
Run Code Online (Sandbox Code Playgroud)

使用该对象,我需要创建一个嵌套列表,该列表在浏览器中如下所示

  • 测试1.0
    • 测试1.1
    • 测试1.2
      • 测试1.2.1

我的方法是编写一个函数,该函数将遍历对象并将值存储在元素列表的数组中

function appendItems(json){
    var list = json.items;
    var listelem = [];

    list.forEach(function(i){
        var listelements = document.createElement('li');
        listelements.setAttribute("id",i.id);
        listelements.setAttribute("data-parent-id", i.parent_id);
        listelements.innerText = i.lable;
        listelem.push(listelements);

    })

    console.log(listelem);    
}
Run Code Online (Sandbox Code Playgroud)

但是我不确定从这一点上如何获得嵌套结构

javascript

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

Intl.Collat​​or 降序排序

鉴于这个例子:

let a = ['New York', 'New Hampshire', 'Maryland'];
let collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
a.sort(collator.compare);
Run Code Online (Sandbox Code Playgroud)

这个数组如何按降序排序?

javascript

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

标签 统计

javascript ×6

sorting ×3

arrays ×1

json ×1

node.js ×1

tags ×1