首页 > 解决方案 > 通过数组 JavaScript 中的对象字段移动对象

问题描述

我有一个对象数组,代表图表中的数据。我也有一个可变的时区。如何根据时区变量移动销售额 > 0 的对象?因此,如果 Timezone = -5,所有销售额 > 0 的对象都应该移动它的位置 -5 索引。名称字段的编号应保持不变,从 12 到 1 和从 1 到 11,但销售额会根据时区变量移动。在此处输入图像描述

标签: javascriptarrays

解决方案


您可以执行以下操作:

  1. 创建新数组:const result = new Array(yourObjectsArr.length);
  2. 通过yourObjectsArr第一次:
yourObjectsArr.forEach((obj, key) => {
  if (obj.sales > 0) {
    // what if (key - timeZone) is negative?
    const result[key - timeZone] = obj;
  }
});
  1. 进行yourObjectsArr第二次处理并处理 sales <= 0 时的所有情况。 Mb 可以在一个循环中完成,取决于应该占据这些对象的哪个位置

推荐阅读