Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Multidimensional Array_Nested - Fatal编程技术网

Javascript 展平数组并放弃嵌套值

Javascript 展平数组并放弃嵌套值,javascript,arrays,multidimensional-array,nested,Javascript,Arrays,Multidimensional Array,Nested,我试图展平数组,同时也从嵌套数组中丢弃值 输入: [ ["E:", 6533960335360], ["J:", 4493794811904], ["I:", 4407296360448], ["F:", 3380793327616], ["G:", 3212201390080], ["H:", 1704758915072], ["C:", 440328122368], ["K:", 54324703232], ["D:", 188514304] ] 期望输

我试图展平数组,同时也从嵌套数组中丢弃值

输入:

[
  ["E:", 6533960335360],
  ["J:", 4493794811904],
  ["I:", 4407296360448],
  ["F:", 3380793327616],
  ["G:", 3212201390080],
  ["H:", 1704758915072],
  ["C:", 440328122368],
  ["K:", 54324703232],
  ["D:", 188514304]
]
期望输出:

[
  "E:",
  "J:",
  "I:",
  "F:",
  "G:",
  "H:",
  "C:",
  "K:",
  "D:"
]
我知道我可以使用
[].concat.apply([],nestedArray)
展平数组,但是有没有合适的方法来丢弃过程中不需要的项目?

只需映射值即可

var数组=[[E:,6533960335360],“J:,4493794811904],“I:,4407296360448],“F:,3380793327616],“G:,3212201390080],“H:,1704758915072],“C:,440328122368],“K:,54324703232],“D:,188514304]]
结果=array.map(([value])=>value);

控制台日志(结果)
您可以使用
Array.map()
并返回每个子数组的第一项:

const data=[[E:,6533960335360],“J:,4493794811904],“I:,4407296360448],“F:,3380793327616],“G:,3212201390080],“H:,1704758915072],“C:,440328122368],“K:,54324703232],“D:,188514304]]
const result=data.map(([v])=>v)
console.log(结果)
回答: 您可以使用映射/数组转换,因为您的数据已经是可转置格式

[...new Map(data).keys()]
或者不使用
排列
操作符

Array.from( new Map(data).keys() );
let data=[[E:,6533960335360],“J:,4493794811904],“I:,4407296360448],“F:,3380793327616],“G:,3212201390080],“H:,1704758915072],“C:,440328122368],“K:,54324703232],“D:,188514304];
让结果=[…新映射(数据).keys()];

控制台日志(结果)
这个方法比使用
map
方法更快/更有效吗?@oldboy我想一个直数组
map
可能更快,尽管差别可能可以忽略不计。这只是一个可用的替代方法,而不是已经发布的方法。