Javascript 2D数组的数值



我见过另外几个类似这个问题的帖子,但没有一个适合我的场景,并且不知道如何解决这个问题(例如按第二个值排序2D数组)

我将解释我在JavaScript中面临的问题;

我有两个数组,我正在使用它们在第三方产品中创建图表。我有以下变量:

标签("股票"、"股票B"、"股票C","D"

value["200", "1000", "900", "800"]

我希望这是一个二维数组

已排序["股票B, 1000","股票C, 900", "股票D, 800", "股票A, 200"]

如果可能的话,我想按数值排序。问题是,当我在上面发布的问题中使用解决方案时,它只将值与另一个值进行比较。我需要这个遍历数组中已经存储的每个值。

我上周在某个地方发现了另一种非常漫长的方式,但它是排序值,如100,1000彼此相邻-我认为这不是整数等,但没有这样的运气。周五我一怒之下删除了代码。

我希望那里有一些善良的灵魂可以帮助一个新的编码员。输入的值是字符串,所以需要转换成整型。

数组中有无限数量的条目,一旦我对这些条目进行了正确排序,我需要保留前10个条目,然后将其他条目分组为一组,总共有11个条目。但是我需要在解决这个问题之前进行排序。

我希望这是一个二维数组

sorted["Stock B, 1000","Stock C, 900", "Stock D, 800", "Stock A, 200"]

这不是一个二维数组,这是一个一维字符串数组。这将是一个二维数组:

sorted = [["Stock B", 1000], ["Stock C", 900], ["Stock D", 800], ["Stock A", 200]];

…您可以按第二个值排序,如下所示:

sorted.sort(function(a, b) {
    var avalue = a[1],
        bvalue = b[1];
    if (avalue < bvalue) {
        return -1;
    }
    if (avalue > bvalue) {
        return 1;
    }
    return 0;
});

但是你最好使用一个单维的对象数组:

sorted = [
    {name: "Stock B", quantity: 1000},
    {name: "Stock C", quantity: 900},
    {name: "Stock D", quantity: 800},
    {name: "Stock A", quantity: 200}
];

…你可以这样排序:

sorted.sort(function(a, b) {
    var avalue = a.quantity,
        bvalue = b.quantity;
    if (avalue < bvalue) {
        return -1;
    }
    if (avalue > bvalue) {
        return 1;
    }
    return 0;
});

相关内容

  • 没有找到相关文章

最新更新