Skip to content

需求,合并折扣行

js
const processArray = (arr) => {
  // 遍历数组,从前向后
  for (let i = 0; i < arr.length - 1; i++) {
    // 如果当前对象的fphxz值是02,且下一个对象的fphxz值是01
    if (arr[i].fphxz === '02' && arr[i + 1].fphxz === '01') {
      // 将下一个对象的je值加到当前对象的je值上
      arr[i].je = this.numAdd(arr[i].je, arr[i + 1].je)
      arr[i].se = this.numAdd(arr[i].se, arr[i + 1].se)
      // 从数组中删除下一个对象
      arr.splice(i + 1, 1)
      // 删除对象后,数组长度减少,索引回退一位
      i--
    }
  }
  return arr
}

let newArray = processArray(JSON.parse(JSON.stringify(oldArray)))
const processArray = (arr) => {
  // 遍历数组,从前向后
  for (let i = 0; i < arr.length - 1; i++) {
    // 如果当前对象的fphxz值是02,且下一个对象的fphxz值是01
    if (arr[i].fphxz === '02' && arr[i + 1].fphxz === '01') {
      // 将下一个对象的je值加到当前对象的je值上
      arr[i].je = this.numAdd(arr[i].je, arr[i + 1].je)
      arr[i].se = this.numAdd(arr[i].se, arr[i + 1].se)
      // 从数组中删除下一个对象
      arr.splice(i + 1, 1)
      // 删除对象后,数组长度减少,索引回退一位
      i--
    }
  }
  return arr
}

let newArray = processArray(JSON.parse(JSON.stringify(oldArray)))