在 JavaScript 中对数字数组和对象数组进行排序

基兰·达什

假设我生成两个数组,一个包含数字数组:

[5.65, 3.25, 4.34, 6.78]

另一个数组,其中包含包含一些信息的对象

[car.object1, car.object2, car.object3, car.object4]

第二个数组中的对象与第一个数组中的数字相关。所以object1与5.65相关,object2与3.25相关,依此类推。

所以我想按升序对数组 1 进行排序,同时也对数组 2 进行排序。

所以结果应该是:

[3.25, 4.34, 5.65, 6.78]

&

[car.object2, car.object3, car.object1, car.object4]

我的方法:(您可以忽略以下答案,因为我认为这是错误的。它不起作用。)

var all = [];
var A = [5.65, 3.25, 4.34, 6.78];
var B = ['store.object1', 'store.object2', 'store.object3', 'store.object4'];

for (var i = 0; i < B.length; i++) {
  all.push({
    'A': A[i],
    'B': B[i]
  });
}

all.sort(function(a, b) {
  return a.A - b.A;
});

A = [];
B = [];

for (var i = 0; i < all.length; i++) {
  A.push(all[i].A);
  B.push(all[i].B);
}

console.log(A, B);

TJ克劳德

除非您想自己实现排序,否则一种简单的方法是将数字数组中的条目与对象数组中的条目(至少是简短的)组合起来,对其进行排序,然后(如有必要)提取结果:

// Setup
var car = {
  object1: {name: "object1"},
  object2: {name: "object2"},
  object3: {name: "object3"},
  object4: {name: "object4"}
};
var nums = [5.65, 3.25, 4.34, 6.78];
var objs = [car.object1, car.object2, car.object3, car.object4];

// Combine
var joined = [];
nums.forEach(function(num, index) {
  joined[index] = {num: num, object: objs[index]};
});

// Sort
joined.sort(function(a, b) {
  return a.num - b.num;
});

// Extract
nums = [];
objs = [];
joined.forEach(function(entry, index) {
  nums[index] = entry.num;
  objs[index] = entry.object;
});

console.log(nums);
console.log(objs);
.as-console-wrapper {
  max-height: 100% !important;
}

但是,与其合并、排序和提取,我可能只维护一个数组并将每个数字添加到其相关对象中,因此它们总是一起移动。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何找到在JavaScript中按降序对数字数组进行排序所需的最小交换次数

来自分类Dev

字母数字在JavaScript中对数组进行排序

来自分类Dev

在JavaScript中对数字数组进行迭代会返回字符串

来自分类Dev

Javascript:如何按该数组中的对象值对数组进行排序?

来自分类Dev

使用javascript对数组进行数字排序

来自分类Dev

为什么javascript不按数字顺序对数字数组排序?

来自分类Dev

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

来自分类Dev

用Javascript对数组,变量或对象进行排序

来自分类Dev

javascript-仅使用字符串中的数字对数组进行排序

来自分类Dev

如何在JavaScript中根据对象值对数组进行排序?

来自分类Dev

如何使用正则表达式对数组中的Javascript对象进行排序

来自分类Dev

在javascript中按字母顺序对数组及其对象键进行排序

来自分类Dev

Javascript - 对相同的数字数组进行分组

来自分类Dev

在Javascript中按日期对数组进行排序

来自分类Dev

Javascript在Oracle中按顺序对数组进行排序

来自分类Dev

使用javascript中的sort方法对数组进行排序

来自分类Dev

按Javascript中的特定键值对数组进行排序

来自分类Dev

想要在javascript中对数组进行排序

来自分类Dev

在javascript中2级上对数组进行排序

来自分类Dev

Javascript在Oracle中按顺序对数组进行排序

来自分类Dev

在Javascript中对字符串值对数组进行排序

来自分类Dev

在Javascript中按行数据对数组进行排序

来自分类Dev

JavaScript与PHP对数组进行排序

来自分类Dev

在JavaScript上对数组元素进行排序

来自分类Dev

用JavaScript对数组进行排序

来自分类Dev

使用javascript对数组表进行排序

来自分类Dev

Javascript - 在初始“-”之后对数组进行排序

来自分类Dev

Javascript:根据每个数组的长度数字对数组进行排序

来自分类Dev

在javascript中根据数组长度和数组值(日期格式)对数组进行排序?

Related 相关文章

  1. 1

    如何找到在JavaScript中按降序对数字数组进行排序所需的最小交换次数

  2. 2

    字母数字在JavaScript中对数组进行排序

  3. 3

    在JavaScript中对数字数组进行迭代会返回字符串

  4. 4

    Javascript:如何按该数组中的对象值对数组进行排序?

  5. 5

    使用javascript对数组进行数字排序

  6. 6

    为什么javascript不按数字顺序对数字数组排序?

  7. 7

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

  8. 8

    用Javascript对数组,变量或对象进行排序

  9. 9

    javascript-仅使用字符串中的数字对数组进行排序

  10. 10

    如何在JavaScript中根据对象值对数组进行排序?

  11. 11

    如何使用正则表达式对数组中的Javascript对象进行排序

  12. 12

    在javascript中按字母顺序对数组及其对象键进行排序

  13. 13

    Javascript - 对相同的数字数组进行分组

  14. 14

    在Javascript中按日期对数组进行排序

  15. 15

    Javascript在Oracle中按顺序对数组进行排序

  16. 16

    使用javascript中的sort方法对数组进行排序

  17. 17

    按Javascript中的特定键值对数组进行排序

  18. 18

    想要在javascript中对数组进行排序

  19. 19

    在javascript中2级上对数组进行排序

  20. 20

    Javascript在Oracle中按顺序对数组进行排序

  21. 21

    在Javascript中对字符串值对数组进行排序

  22. 22

    在Javascript中按行数据对数组进行排序

  23. 23

    JavaScript与PHP对数组进行排序

  24. 24

    在JavaScript上对数组元素进行排序

  25. 25

    用JavaScript对数组进行排序

  26. 26

    使用javascript对数组表进行排序

  27. 27

    Javascript - 在初始“-”之后对数组进行排序

  28. 28

    Javascript:根据每个数组的长度数字对数组进行排序

  29. 29

    在javascript中根据数组长度和数组值(日期格式)对数组进行排序?

热门标签

归档