Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按包含字符串的数组对象分组_Javascript_Jquery_Arrays_Object - Fatal编程技术网

Javascript 如何按包含字符串的数组对象分组

Javascript 如何按包含字符串的数组对象分组,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一个数组 [<br> &nbsp;{CONTRACT_ID: 420, DEDUCTIONS: "Warehouse Fixture - Generic Double", AMOUNT: 600} <br> &nbsp;{CONTRACT_ID: 420, DEDUCTIONS: "Warehouse Fixture - Rack", AMOUNT: 750} <br> &nbsp

我有一个数组

[<br>
  &nbsp;{CONTRACT_ID: 420, DEDUCTIONS: "Warehouse Fixture - Generic Double", AMOUNT: 600} <br>
  &nbsp;{CONTRACT_ID: 420, DEDUCTIONS: "Warehouse Fixture - Rack", AMOUNT: 750} <br>
  &nbsp;{DEDUCTIONS: "Freight Incoming", AMOUNT: 10, RATE:2} <br>
  &nbsp;{DEDUCTIONS: "Freight Outgoing", AMOUNT: 30, RATE:2} <br>
  &nbsp;{DEDUCTIONS: "Warehouse", AMOUNT: 500} <br>
]
[
{合同编号:420,扣除额:“仓库固定装置-通用双联”,金额:600}
{合同编号:420,扣除额:“仓库固定装置-货架”,金额:750}
{扣除额:“货物进货”,金额:10,费率:2}
{扣除额:“运费出库”,金额:30,费率:2}
{扣除额:“仓库”,金额:500}
]
这就是我想要的结果:

[<br>
  &nbsp;{DEDUCTIONS: "Warehouse Fixture", AMOUNT: 1350} <br>
  &nbsp;{DEDUCTIONS: "Freight", AMOUNT: 40} <br>
  &nbsp;{DEDUCTIONS: "Warehouse", AMOUNT: 500} <br>
]
[
{扣除额:“仓库固定装置”,金额:1350}
{扣除额:“运费”,金额:40}
{扣除额:“仓库”,金额:500}
]

这可能吗?

对于本例,下面的代码很好,但您需要定义更具体的分组逻辑

const indexedResult = {};

initialArray.forEach(obj => {
  let key;

  if ("CONTRACT_ID" in obj) {
    key = obj.DEDUCTIONS.split(/ - /, 1)[0];
  } else if ("RATE" in obj) {
    key = obj.DEDUCTIONS.split(/ /, 1)[0];
  } else {
    key = obj.DEDUCTIONS;
  }

  if (key in indexedResult) {
    indexedResult[key].AMOUNT += obj.AMOUNT;
  } else {
    indexedResult[key] = {
      DEDUCTIONS: key,
      AMOUNT: obj.AMOUNT
    };
  }
});

const result = Object.keys(indexedResult).map(key => indexedResult[key]);

您做了什么以及您希望jquery/javascript的方式?您需要的是您的努力,而不是您想从usI获得的每一个。对不起,Javascript将更好@Ajay2707