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

Javascript 如何分割数组?

Javascript 如何分割数组?,javascript,arrays,Javascript,Arrays,假设我有一个数组变量: arr = ["a","b","c","d","a","b","a","b","a"] 因此,a出现的方式是随机的 我想把这个数组从一个a分割到下一个a 例如,我的新阵列可能是 [["a","b","c","d"],["a","b"],["a","b"],["a"]] 您可以将数组转换为字符串,然后使用match()和RegExp。然后使用map()获取数组数组 让arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”] 让res=

假设我有一个数组变量:

arr = ["a","b","c","d","a","b","a","b","a"]
因此,
a
出现的方式是随机的 我想把这个数组从一个
a
分割到下一个
a
例如,我的新阵列可能是

[["a","b","c","d"],["a","b"],["a","b"],["a"]]

您可以将数组转换为字符串,然后使用
match()
RegExp
。然后使用
map()
获取数组数组

让arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”]
让res=arr.join(“”).match(/a[^a]+/g)).map(x=>[…x]);

log(res)
您可以将数组转换为字符串,然后使用
match()
RegExp
。然后使用
map()
获取数组数组

让arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”]
让res=arr.join(“”).match(/a[^a]+/g)).map(x=>[…x]);

console.log(res)
如果您有想要的值,您可以减少数组并将新数组推送到结果中。然后将所有值推送到结果集中的最后一个数组

var数组=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“a”、“b”、“a”],
结果=数组。减少((r,v,i)=>{
如果(!i | | v=='a')r.push([]);
r[r.length-1]。推力(v);
返回r;
}, []);

控制台日志(结果)如果您有想要的值,您可以减少数组并将新数组推送到结果。然后将所有值推送到结果集中的最后一个数组

var数组=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“a”、“b”、“a”],
结果=数组。减少((r,v,i)=>{
如果(!i | | v=='a')r.push([]);
r[r.length-1]。推力(v);
返回r;
}, []);

控制台日志(结果)
您可以使用
split()/join()
方法来完成此操作,例如:

让arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”];
设r=arr.join(“”).split(“”).map(x=>([“a”,…x.split(“”)]);
r、 移位();

控制台日志(r)
您可以使用
split()/join()
方法来完成此操作,例如:

让arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”];
设r=arr.join(“”).split(“”).map(x=>([“a”,…x.split(“”)]);
r、 移位();

控制台日志(r)
一种简洁的方法是将字符连接成一个字符串,然后在每个
A
上使用正向前瞻正则表达式进行拆分,以将
A
保留在拆分部分中,最后将生成的部分拆分为数组:

常量arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”、“b”、“a”]; const result=arr.join(“”).split(/(?=a)/).map(x=>x.split(“”));
log(JSON.stringify(result))
一种简洁的方法是将字符连接成一个字符串,然后在每个
A
上使用正向前瞻正则表达式进行拆分,以将
A
保留在拆分部分中,最后将生成的部分拆分为数组:

常量arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“b”、“a”、“b”、“a”]; const result=arr.join(“”).split(/(?=a)/).map(x=>x.split(“”)); log(JSON.stringify(result))您可以执行以下操作

首先将数组转换为字符串:-
“abcdababa”(使用.join(“”)

现在使用“a”作为分隔符拆分字符串:-
[“”,“bcd”,“b”,“b”,““”](使用.split(“a”))

现在在所有元素前面加上“a:-
[“a”,“abcd”,“ab”,“ab”,“a”](使用.map(x=>“a”+x))

现在使用“”(空字符串)作为seperator拆分所有元素:-
[[“a”]、[“a”、“b”、“c”、“d”]、[“a”、“b”]、[“a”、“b”]、[“a”](使用.split(“”)(此步骤将在映射函数内部)

现在删除第一个元素(因为它不是字符串的一部分):-
[[“a”、“b”、“c”、“d”]、[“a”、“b”]、[“a”、“b”]、[“a”](使用.shift())

var arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“a”、“b”、“a”];
变量x1=arr.join(“”).split(“”).map(x=>{
x=“a”+x;
返回x.split(“”);
});
x1.shift();
控制台日志(x1)您可以执行以下操作

首先将数组转换为字符串:-
“abcdababa”(使用.join(“”)

现在使用“a”作为分隔符拆分字符串:-
[“”,“bcd”,“b”,“b”,““”](使用.split(“a”))

现在在所有元素前面加上“a:-
[“a”,“abcd”,“ab”,“ab”,“a”](使用.map(x=>“a”+x))

现在使用“”(空字符串)作为seperator拆分所有元素:-
[[“a”]、[“a”、“b”、“c”、“d”]、[“a”、“b”]、[“a”、“b”]、[“a”](使用.split(“”)(此步骤将在映射函数内部)

现在删除第一个元素(因为它不是字符串的一部分):-
[[“a”、“b”、“c”、“d”]、[“a”、“b”]、[“a”、“b”]、[“a”](使用.shift())

var arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“a”、“b”、“a”];
变量x1=arr.join(“”).split(“”).map(x=>{
x=“a”+x;
返回x.split(“”);
});
x1.shift();

控制台日志(x1)使用简单的
forEach

var arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“a”、“b”、“a”];
var结果=[];
var i=-1;
arr.forEach(功能(val){
如果(val='a'){
结果:推送([]);
i++;
}
结果[i].push(val);
})

控制台日志(结果)使用简单的
forEach

var arr=[“a”、“b”、“c”、“d”、“a”、“b”、“a”、“b”、“a”、“b”、“a”];
var结果=[];
var i=-1;
arr.forEach(功能(val){
如果(val='a'){
结果:推送([]);
i++;
}
结果[i].push(val);
})

控制台日志(结果)为了实现这一点,您尝试了什么?为什么不这样做?你在这儿有什么心事?您没有提供任何代码:/这里需要的最小代码是一个简单的
,用于循环,并检查当前字符是否为
“a”
。请阅读:@Meet-referethis我很抱歉我没有分享我的代码,你为了实现这一点做了哪些尝试?你为什么不这么做?你在这儿有什么心事?您没有提供任何代码:/这里需要的最小代码是一个简单的
,用于循环,并检查当前字符是否为
“a”
。请阅读:@Meet refere this我很抱歉我没有分享我的代码,我想知道如果数组的第一个元素不是
“a”
?@sudhiroja这是一个无效的场景,因为字符总是按字母顺序从
a
排序到