Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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_Node.js - Fatal编程技术网

使用javascript将数组元素拆分为两个元素

使用javascript将数组元素拆分为两个元素,javascript,node.js,Javascript,Node.js,我想做一些看起来很简单的事情,但我还没有找到解决方案(当然,我在论坛上没有找到任何东西) 我想把数组中的一个元素分成两部分 例如: 我有一个数组 let array = [ [ '201026 21330', '12385', '852589', '951478' ], [ '201026 21320', '12385', '369874' ] ] 我想这样分割第一个元素(注意第一个元素,在这里分开): 有人有什么线索吗 提前感谢您要做的是循环遍历二维数组的每个子数组。然后,您可以单独

我想做一些看起来很简单的事情,但我还没有找到解决方案(当然,我在论坛上没有找到任何东西)

我想把数组中的一个元素分成两部分

例如: 我有一个数组

let array = [
  [ '201026 21330', '12385', '852589', '951478' ],
  [ '201026 21320', '12385', '369874' ]
]
我想这样分割第一个元素(注意第一个元素,在这里分开):

有人有什么线索吗


提前感谢

您要做的是循环遍历二维数组的每个子数组。然后,您可以单独处理每个子数组,这使问题变得更容易。为此,您可以使用
Array.prototype.map
,它允许您对数组的每个元素应用函数:

[0,1,2].map(x=>x+1)
给出了
[1,2,3]
。同样,不使用lambda(胖箭头)函数,您可以编写
[0,1,2].map(函数(x){return x+1;})

然后将第一个元素拆分为一个空格,并返回两半以及数组的其余部分。您需要添加两个列表
行[0]。拆分(“”)
行。切片(1)

函数先拆分(数组){
返回array.map(行=>
[…行[0]。拆分(“”),…行。切片(1)]
);
}
使用,以及

const arr=[
[ '201026 21330', '12385', '852589', '951478' ],
[ '201026 21320', '12385', '369874' ]
]
const res=arr.map(row=>row.map(item=>item.split(“”)).flat();

log(res)
您可以分离第一项,将其拆分,并在新数组中获取所有元素

let数组=[[201026 21330',12385',852589',951478',['201026 21320',12385',369874'],
结果=array.map([s,…rest])=>[…s.split(“”),…rest]);
控制台日志(结果)

.as console wrapper{max height:100%!important;top:0;}
您可以通过多种方法的组合轻松实现这一点,即数组方法
flatMap
和字符串方法
split

let数组=[
[ '201026 21330', '12385', '852589', '951478' ],
[ '201026 21320', '12385', '369874' ]
]
让result=array.map(
sub=>sub.flatMap(
element=>element.split(“”)
)
);

循环遍历每个子阵列,按空间分割每个元素,然后展平子阵列。这将处理数组中的任何双元素,而不仅仅是第一个。

如果要处理所有元素而不仅仅是第一个元素,可以将其从
sub.map(…).flat()
简化为
sub.flatMap(…)
IIRC
let result = 
[
 [ '201026','21330', '12385', '852589', '951478' ],
 [ '201026','21320', '12385', '369874' ]
]