Javascript 我需要根据从另一个数组中搜索元素的情况,将一个数组拆分为N个数组
我需要根据从另一个数组中搜索元素的情况,将一个数组拆分为N个数组 考虑一下这个场景Javascript 我需要根据从另一个数组中搜索元素的情况,将一个数组拆分为N个数组,javascript,jquery,arrays,typescript,angular7,Javascript,Jquery,Arrays,Typescript,Angular7,我需要根据从另一个数组中搜索元素的情况,将一个数组拆分为N个数组 考虑一下这个场景 var test = ["1","2","3","env","6","7","8","uat","2344","wersdf","sdfs"]; var test2=["env","uat"]; 现在我想要一张像这样的地图 { env:["6","7","8"], uat:["2344","wersdf","sdfs"] } 请注意,test2和test1中的数组项是动态的。但是,在测试数组中,两个test2
var test = ["1","2","3","env","6","7","8","uat","2344","wersdf","sdfs"];
var test2=["env","uat"];
现在我想要一张像这样的地图
{
env:["6","7","8"],
uat:["2344","wersdf","sdfs"]
}
请注意,test2和test1中的数组项是动态的。但是,在测试数组中,两个test2值不会一个接一个地出现,它们之间会有一些项。您可以使用
array\Reduce
test2
数组并匹配test
ind+1
的forloop。它将以delimiter的下一个参数为目标acc[b].push()将值传递给数组后
test2.indexOf(test[i])==-1检测下一个分隔符。此时需要中断语句。然后再次启动test2的第二个参数
函数映射器(test,test2){
返回test2.reduce((acc,b)=>{
设ind=test.indexOf(b);//检测分隔符的起始索引
如果(ind>-1){
acc[b]=acc[b]| |[];
对于(变量i=ind+1;i
var测试=[“1”、“2”、“3”、“环境”、“6”、“7”、“8”、“uat”、“2344”、“wersdf”、“sdfs”];
var test2=[“环境”、“uat”];
var indexArray=[];
test2.map(键=>{
var指数=测试指数(键);
指数推力(指数);
})
var obj={};
对于(var i=0;看。您尝试过什么吗?如果test2中的值将被重复,并且结果是一个对象,则某些键将被覆盖。@Utkanos我尝试过此操作,但不确定如何执行N次。@KalimahApps是的,您是对的,我添加了不应重复的条件。您好,如何替换n使用不同数组的字符串数组。ex var test1=[“1”,“2”]我必须用var test2=[“4”,“5”]替换“1”,这是最终值,应该是test1=[“4”,“5”,“2”]test1 test2的值可以重复。请帮助。@Jananiharaharan您评论的问题与原始问题不同。请将评论作为新问题发布。共享链接我将发布关于该问题的答案,或者用上述评论问题更新原始问题。因为这对未来的访问者更有用,更容易理解