Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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
React Native/Javascript中两个数组的合并_Javascript_Arrays_Reactjs_React Native - Fatal编程技术网

React Native/Javascript中两个数组的合并

React Native/Javascript中两个数组的合并,javascript,arrays,reactjs,react-native,Javascript,Arrays,Reactjs,React Native,我有一个数组 arr1 = [ {date: "June 27", data: ["dummyone","dummy2",...]}, {date: "June 24", data: ["dummyone","dummy2",...]}, {date: "June 18", data: ["dummyone","dummy2",...]}, {date: "June 14", data: ["dummyone","dummy2",...]} ] arr2 = [ {date: "June

我有一个数组

arr1 =  [ 
{date: "June 27", data: ["dummyone","dummy2",...]},
{date: "June 24", data: ["dummyone","dummy2",...]},
{date: "June 18", data: ["dummyone","dummy2",...]},
{date: "June 14", data: ["dummyone","dummy2",...]}
]

arr2 = [ 
{date: "June 14", data: ["dummy3","dummy4",...]},
{date: "June 12", data: ["dummy3","dummy4",...]},
{date: "June 10", data: ["dummy3","dummy4",...]},
{date: "June 09", data: ["dummy3","dummy4",...]}
]
所以我的最后一个数组应该是

[ 
{date: "June 27", data: ["dummyone","dummy2",...]},
{date: "June 24", data: ["dummyone","dummy2",...]},
{date: "June 18", data: ["dummyone","dummy2",...]},
{date: "June 14", data: ["dummyone","dummy2","dummy3","dummy4",...]},
{date: "June 12", data: ["dummy3","dummy4",...]},
{date: "June 10", data: ["dummy3","dummy4",...]},
{date: "June 09", data: ["dummy3","dummy4",...]}
]
我尝试过合并6月14日的数组,也尝试过使用像lastDateLoaded这样的扩展运算符将6月14日作为值

arr2.forEach(activitiesTempData => {
         if(lastDateLoaded === activitiesTempData.date){

             arr1[lastDateIndex].data = [...arr1[lastDateIndex].data, ...activitiesTempData.data];

         }else{
           arr1 = [...arr1, arr2];
         }
    })

您可以这样做:

arr1=[ {日期:6月27日,数据:[dummyone,dummy2]}, {日期:6月24日,数据:[dummyone,dummy2]}, {日期:6月18日,数据:[dummyone,dummy2]}, {日期:6月14日,数据:[dummyone,dummy2]} ] arr2=[ {日期:6月14日,数据:[dummy3,dummy4]}, {日期:6月12日,数据:[dummy3,dummy4]}, {日期:6月10日,数据:[dummy3,dummy4]}, {日期:2009年6月,数据:[dummy3,dummy4]} ] const result=[…arr1,…arr2]。reducea,c=>{ 让find=a.find{date}=>date==c.date; 如果找到{ found.data=[…found.data,…c.data]; }否则{ a、 PUSC; } 返回a; }, [];
console.logresult 您可以这样做:

arr1=[ {日期:6月27日,数据:[dummyone,dummy2]}, {日期:6月24日,数据:[dummyone,dummy2]}, {日期:6月18日,数据:[dummyone,dummy2]}, {日期:6月14日,数据:[dummyone,dummy2]} ] arr2=[ {日期:6月14日,数据:[dummy3,dummy4]}, {日期:6月12日,数据:[dummy3,dummy4]}, {日期:6月10日,数据:[dummy3,dummy4]}, {日期:2009年6月,数据:[dummy3,dummy4]} ] const result=[…arr1,…arr2]。reducea,c=>{ 让find=a.find{date}=>date==c.date; 如果找到{ found.data=[…found.data,…c.data]; }否则{ a、 PUSC; } 返回a; }, [];
console.logresult 合并数组或使用数组排列,并使用日期作为键将其缩减为对象。在相关日期键处将数据收集到数组中。转换回具有object.Value的对象:

const arr1=[{日期:6月27日,数据:[dummyone,dummy2]},{日期:6月24日,数据:[dummyone,dummy2]},{日期:6月18日,数据:[dummyone,dummy2]},{日期:6月14日,数据:[dummyone,dummy2]}] const arr2=[{日期:6月14日,数据:[dummy3,dummy4]},{日期:6月12日,数据:[dummy3,dummy4]},{日期:6月10日,数据:[dummy3,dummy4]},{日期:2009年6月,数据:[dummy3,dummy4]}] 常量结果=对象值[…arr1,…arr2] .减速器,o=>{ r[o.date]=r[o.date]? {…r[o.date],数据:[…r[o.date]。数据,…o.data]} : o 返回r }, {}
console.logresultConcat数组或使用数组排列,并使用日期作为键将它们减少为对象。在相关日期键处将数据收集到数组中。转换回具有object.Value的对象:

const arr1=[{日期:6月27日,数据:[dummyone,dummy2]},{日期:6月24日,数据:[dummyone,dummy2]},{日期:6月18日,数据:[dummyone,dummy2]},{日期:6月14日,数据:[dummyone,dummy2]}] const arr2=[{日期:6月14日,数据:[dummy3,dummy4]},{日期:6月12日,数据:[dummy3,dummy4]},{日期:6月10日,数据:[dummy3,dummy4]},{日期:2009年6月,数据:[dummy3,dummy4]}] 常量结果=对象值[…arr1,…arr2] .减速器,o=>{ r[o.date]=r[o.date]? {…r[o.date],数据:[…r[o.date]。数据,…o.data]} : o 返回r }, {} logresult您可以使用映射进行分组,并以所需的格式获取分组数据

var arr1=[{日期:6月27日,数据:[dummyone,dummy2]},{日期:6月24日,数据:[dummyone,dummy2]},{日期:6月18日,数据:[dummyone,dummy2]},{日期:6月14日,数据:[dummyone,dummy2]}, arr2=[{日期:6月14日,数据:[dummy3,dummy4]},{日期:6月12日,数据:[dummy3,dummy4]},{日期:6月10日,数据:[dummy3,dummy4]},{日期:2009年6月,数据:[dummy3,dummy4]}, 结果=Array.from […arr1,…arr2]。减少 m、 {date,data}=>m.setdate,[…m.getdate | |[],…data], 新地图 , [日期,数据]=>{date,data} ; console.logresult; .作为控制台包装{max height:100%!important;top:0;}您可以使用映射进行分组,并以所需的格式获取分组数据

var arr1=[{日期:6月27日,数据:[dummyone,dummy2]},{日期:6月24日,数据:[dummyone,dummy2]},{日期:6月18日,数据:[dummyone,dummy2]},{日期:6月14日,数据:[dummyone,dummy2]}, arr2=[{日期:6月14日,数据:[dummy3,dummy4]},{日期:6月12日,数据:[dummy3,dummy4]},{日期:6月10日,数据:[dummy3,dummy4]},{日期:2009年6月,数据:[dummy3,dummy4]}, 结果=Array.from […arr1,…arr2]。减少 m、 {date,data}=>m.setdate,[…m.getdate | |[],…data], 新地图 , [日期,数据]=>{date,data} ; console.logresult; .as console wrapper{max height:100%!important;top:0;}一起使用forEach、filter和concat来过滤掉重复的值

var arr1=[ {日期:6月27日,数据:[dummyone,dummy2]}, {日期:6月24日,数据:[dummyone,dummy2]}, {日期:6月18日,数据:[dummyone,dummy2]}, {日期:6月14日,数据:[dummyone,dummy2]} ] var arr2=[ {日期:6月14日,数据:[dummy3,dummy4]}, {日期:6月12日,数据:[dummy3,dummy4]}, {日期:6月10日,数据:[dummy3,dummy4]}, {日期:2009年6月,数据:[dummy3,dummy4]} ] arr2.foreache函数{ 变量 arr=arr1.滤波函数,j{ 返回r.date==e.date; } arr.length==0?arr1.push:arr1[arr1.indexofar[0]]。data=arr1[arr1.indexofar[0]]。data.concate.data } console.logarr1同时使用forEach、filter和concat来过滤掉重复的值

var arr1=[ {日期:6月27日,数据:[dummyone,dummy2]}, {日期:6月24日,数据:[dummyone,dummy2]}, {日期:6月18日,数据:[dummyone,dummy2]}, {日期:6月14日,数据:[dummyone,dummy2]} ] var arr2=[ {日期:6月14日,数据:[dummy3,dummy4]}, {日期:6月12日,数据:[dummy3,dummy4]}, {日期:6月10日,数据:[dummy3,dummy4]}, {日期:2009年6月,数据:[dummy3,dummy4]} ] arr2.foreache函数{ var arr=arr1.filterFunction,j{ 返回r.date==e.date; } arr.length==0?arr1.push:arr1[arr1.indexofar[0]]。data=arr1[arr1.indexofar[0]]。data.concate.data }
logarr1我们可以像这样使用concat方法合并两个数组

  let arr1 =  [ 
{date: "June 27", data: ["dummyone","dummy2"]},
{date: "June 24", data: ["dummyone","dummy2"]},
{date: "June 18", data: ["dummyone","dummy2"]},
{date: "June 14", data: ["dummyone","dummy2"]}
]

let arr2 = [ 
{date: "June 14", data: ["dummy3","dummy4"]},
{date: "June 12", data: ["dummy3","dummy4"]},
{date: "June 10", data: ["dummy3","dummy4"]},
{date: "June 09", data: ["dummy3","dummy4"]}
]

console.log(arr1.concat(arr2));

这将打印这两个数组的合并数组。现在,如果您想删除重复记录,那么应该使用lodash库或其他javascript方法,如filter、reduce等。

我们可以使用如下concat方法合并两个数组

  let arr1 =  [ 
{date: "June 27", data: ["dummyone","dummy2"]},
{date: "June 24", data: ["dummyone","dummy2"]},
{date: "June 18", data: ["dummyone","dummy2"]},
{date: "June 14", data: ["dummyone","dummy2"]}
]

let arr2 = [ 
{date: "June 14", data: ["dummy3","dummy4"]},
{date: "June 12", data: ["dummy3","dummy4"]},
{date: "June 10", data: ["dummy3","dummy4"]},
{date: "June 09", data: ["dummy3","dummy4"]}
]

console.log(arr1.concat(arr2));

这将打印这两个数组的合并数组。现在,如果您想删除重复记录,那么应该使用lodash库或其他javascript方法,如filter、reduce等。

您是否希望将arr1和arr2结合起来?如果是,试试这个

    var arr3 = arr1.concat(arr2)
    console.log(arr3)

您正在寻找arr1和arr2的组合吗?如果是,试试这个

    var arr3 = arr1.concat(arr2)
    console.log(arr3)

谢谢你的回答,但是没有用。我在6月14日的数据中只得到了两个值。@ArvindlalJaiswal,这很奇怪,代码片段似乎运行了预期的结果。也在我自己的控制台上试用过。@ArvindlalJaiswal重要的部分是合并两个数组[…arr1,…arr2]并减少生成的数组。很抱歉@Titus和Christopher Ngo,它在控制台上工作,但对于我的代码它不工作。将再次检查我的代码并返回。但是谢谢你的回答,谢谢你的回答,但是没有用。我在6月14日的数据中只得到了两个值。@ArvindlalJaiswal,这很奇怪,代码片段似乎运行了预期的结果。也在我自己的控制台上试用过。@ArvindlalJaiswal重要的部分是合并两个数组[…arr1,…arr2]并减少生成的数组。很抱歉@Titus和Christopher Ngo,它在控制台上工作,但对于我的代码它不工作。将再次检查我的代码并返回。但是谢谢你的回复,我认为OP想要合并重复的数据数组,而不仅仅是删除它们。此外,在这种情况下,如果数组包含某种元素,最好使用.some而不是.filter.Fiexd it@titus。我认为OP希望合并重复的数据数组,而不仅仅是删除它们。此外,在这种情况下,如果数组包含某种元素,最好使用.some而不是.filter.Fiexd it@Titus