Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 如何使用delimeter生成从旧数组派生的字符串的新数组_Javascript_Jquery_Arrays_String - Fatal编程技术网

Javascript 如何使用delimeter生成从旧数组派生的字符串的新数组

Javascript 如何使用delimeter生成从旧数组派生的字符串的新数组,javascript,jquery,arrays,string,Javascript,Jquery,Arrays,String,我有一个字符串数组,我想创建一个新数组,将数组中的字符串连接起来,直到显示delimeter字符。例如,我有一个字符串数组: ["5", "2", "0", "1", "6", "2", "7", "0", "1", "9", "9", "0", "0", "", "5", "2", "0", "3", "4", "1", "1", "0", "2", "1", "9", "8", "4", ""] 我想做一个像这样的新的: ["5201627019900","5203411021984"]

我有一个字符串数组,我想创建一个新数组,将数组中的字符串连接起来,直到显示delimeter字符。例如,我有一个字符串数组:

["5", "2", "0", "1", "6", "2", "7", "0", "1", "9", "9", "0", "0", "", "5", "2", "0", "3", "4", "1", "1", "0", "2", "1", "9", "8", "4", ""]
我想做一个像这样的新的:

["5201627019900","5203411021984"]


数组中这些项的delimeter是它们之间的
。有什么帮助吗?

您尝试过什么吗?我正在尝试了解如何使用map和join来实现这一点分隔符是否始终是数组中的每13个元素?不,在我的情况下,它只是一个字符或类似“”的空字符如果数组很大,那么reduce()与.map()相比,它的工作速度更快。join()您尝试过什么吗?我正在尝试了解如何使用map和join来实现这一点。分隔符是否始终是数组中的每13个元素?不,在我的情况下,它只是一个字符或像“”这样的空字符。如果数组很大,则reduce()的工作速度将比.map()快。join()在
join()
之后可能值得使用
trim()
,因为后面还有一个空格,所以这将导致一个3元素数组,最后一个元素为空。现在去掉逗号,我们就到了:)
var result=array.join(“”.trim().replace(/,/g,“”)。split(“”)
array.join()
会导致
“5,2,0,1,6,2,7,0,1,9,9,0,0,5,2,0,3,4,1,1,1,0,2,1,9,8,4,”
,或者至少在我尝试时是这样,抱歉,错过了引号。你完全正确:)@Jonasw这段代码只是将它们连接在一起[“520162070199005203411021984”]。我想要这个结果:[“52016207019900”,“52034111021984”]在
join()
之后可能值得使用
trim()
,因为后面也有一个空格,所以这将导致一个3元素数组,最后一个元素为空。现在去掉逗号,我们就到了:)
var result=array.join(“”.trim()。replace(/,/g,“”)。split(“”);
array.join()
会导致
“5,2,0,1,6,2,7,0,1,9,9,0,0,5,2,0,3,4,1,1,1,0,2,1,9,8,4,”
,或者至少在我尝试时是这样,抱歉,错过了引号。你完全正确:)@Jonasw这段代码只是将它们连接在一起[“520162070199005203411021984”]。我想要这个结果:[“52016207019900”,“52034111021984”]
var result = array.join("").trim().split(/\s/ /*or " " */);
var result = array.reduce((a,b) => { return a+b; }).trim().split(" ");