[英]Flatten Array and Discard Nested Values
我试图展平一个数组,同时也丢弃嵌套数组中的值。
输入:
[
["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 array = [["E:", 6533960335360], ["J:", 4493794811904], ["I:", 4407296360448], ["F:", 3380793327616], ["G:", 3212201390080], ["H:", 1704758915072], ["C:", 440328122368], ["K:", 54324703232], ["D:", 188514304]] result = array.map(([value]) => value); console.log(result);
您可以使用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(result)
您可以使用地图/数组转换转换,因为您的数据已经是可转座的格式。
[...new Map(data).keys()]
或没有spread
运算符
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]]; let result = [...new Map(data).keys()]; console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.