使用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' ]
]