Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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/5/reporting-services/3.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_Arrays_Loops_Indexing_Multidimensional Array - Fatal编程技术网

Javascript将数组项推送到命名索引

Javascript将数组项推送到命名索引,javascript,arrays,loops,indexing,multidimensional-array,Javascript,Arrays,Loops,Indexing,Multidimensional Array,我有一个JSON数组: [{id:1,客户端:“Microsoft”},{id:2,客户端:“Microsoft” },{id:3,客户机:“苹果”}] 我想按“客户机”对它进行分组,但在javascript中我遇到了困难。在PHP中,我通常会这样做: $group = array(); foreach ($array as $item) { $group[ $item['client'] ] = $item; } return $group; 但是这种方法在多维数组的java

我有一个JSON数组:

[{id:1,客户端:“Microsoft”},{id:2,客户端:“Microsoft” },{id:3,客户机:“苹果”}]

我想按“客户机”对它进行分组,但在javascript中我遇到了困难。在PHP中,我通常会这样做:

$group = array();

foreach ($array as $item) {

    $group[ $item['client'] ] = $item;

}

return $group;
但是这种方法在多维数组的javascript中完全不起作用

var group = [];

for ( i=0 ... ) {

  var client = array[i].client;

  group[ client ].push( array[i] );

}
我如何将上述数组分组为以下内容:

$group = array();

foreach ($array as $item) {

    $group[ $item['client'] ] = $item;

}

return $group;
[{“微软”:[{…}],“苹果”:[{…}]}]

甚至

[{客户端:“微软”,“项目”:[{…}]},{客户端:“苹果”,项目:[{…}]}]


您需要一个对象,而不是数组:

var array = [{ id: 1, client: "Microsoft" },{ id: 2, client: "Microsoft" },{ id: 3, client: "Apple" }];
var group = {};
for (var i=0; i<array.length; i++) {
  var client = array[i].client;
  group[client] = group[client] || []; // create array for client if needed
  group[client].push(array[i]);
}
console.log(group);

您需要一个对象,而不是数组:

var array = [{ id: 1, client: "Microsoft" },{ id: 2, client: "Microsoft" },{ id: 3, client: "Apple" }];
var group = {};
for (var i=0; i<array.length; i++) {
  var client = array[i].client;
  group[client] = group[client] || []; // create array for client if needed
  group[client].push(array[i]);
}
console.log(group);