【问题标题】:How to sort a 1D array based on a 2D array?如何根据二维数组对一维数组进行排序?
【发布时间】:2011-02-17 02:54:51
【问题描述】:

在 JavaScript 中,我有 2 个数组。

一个是一维数组,另一个是二维数组

一维数组的内容为:

a[0] = "Germany";
a[1] = "England";
a[2] = "America";
a[3] = "France";

二维数组内容为:

a[0][0] = "America";
a[1][0] = "England";
a[2][0] = "France";
a[3][0] = "Germany";

如何使一维数组的排序与二维数组相同?

也就是说,我希望一维数组的最终结果是:

a[0] = "America";
a[1] = "England";
a[2] = "France";
a[3] = "Germany";

我可以这样做吗?

【问题讨论】:

  • 这是否需要ordering,因为这两个数组不一样,或者你可以简单地flatten 2D 数组以获得相同的结果吗?

标签: javascript arrays sorting


【解决方案1】:

这两个数组是如何创建的?使用地图可能会更好...例如:

var a = {'America':'0', 'England':'1', 'France':'2', 'Germany':'3'};

然后你可以像这样访问它们:

a['America'] 得到 0,或者用a['England']=4; 分配它们

【讨论】:

    【解决方案2】:

    如果您已经在另一个数组中拥有排序结构,为什么不将二维数组中的每个元素复制到一维数组中。

    a[i] = a[i][0]
    //Where i goes from 0 to 3 in this case
    

    这将节省时间和计算资源

    【讨论】:

      猜你喜欢
      • 2015-06-08
      • 1970-01-01
      • 2022-01-10
      • 2018-08-17
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 2015-08-25
      相关资源
      最近更新 更多