如何在 JS 中展平关联数组的数组可以在 PHP 中完成

How to flatten an array of associated arrays in JS like can be done in PHP

在我当前的情况下,我想从数组中删除索引编号的级别。由于密钥不固定,可能会不时更改,这将影响我的脚本 运行。

我发现 使用 PHP 可以完成这项工作。但是我如何在 JS 中做到这一点?

PHP

$newArray = array();

foreach($value as $val) {
    $newArray = array_merge($new, $val);
}

JS

var newArray = [];

oldArray.forEach(function(entry){
    newArray = newArray.concat(entry);
});

PHP 样本数据和结果

array(3) {
[0]=>
   array(1) {
      ["name"]=>
      string(8) "John Doe"
   }
[1]=>
   array(1) {
      ["age"]=>
      string(2) "24"
   }
[2]=>
   array(1) {
      ["sex"]=>
      string(4) "male"
  }
}

至此

array(3) {
["name"]=>
      string(8) "John Doe"
["age"]=>
      string(2) "24"
["sex"]=>
      string(4) "male"
}

以上示例来自 PHP 输出,我也想在 JS 中实现。

我在 js 中的代码不会删除数组的索引级别。我想删除数组的索引,以便我得到一个普通对象,我可以在其中访问它的数据,如 newArray['name'] 而无需通过索引,因为它的排列是不可预测的。

如果您有任何疑问,请告诉我,因为我真的需要您的帮助。

如果您的数据类似于 PHP 示例数据,它将是一组普通对象,其中每个对象都有一个 属性。

在那种情况下使用 Object.assign 和扩展语法:

const oldArray = [ {"age": 13}, {"length": 8} ];

const newArray = Object.assign({}, ...oldArray);

console.log(newArray);