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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Arrays 将一维数组转换为二维数组,并将数组附加到图纸的最后一行_Arrays_Google Apps Script_Compare_Difference - Fatal编程技术网

Arrays 将一维数组转换为二维数组,并将数组附加到图纸的最后一行

Arrays 将一维数组转换为二维数组,并将数组附加到图纸的最后一行,arrays,google-apps-script,compare,difference,Arrays,Google Apps Script,Compare,Difference,我有两个数组列表,从中我发现了差异 arr1=['Sam','Annie','Margorie','Ester','John']; arr2=['Bill'、'Sally'、'Sam'、'Annie'、'Suman'、'Margorie'、'Ester'、'Pierre'、'John']; var diff=arr2.filter(x=>!arr1.includes(x)); console.log(diff)//result….diff=['Bill','Sally','Suman','Pi

我有两个数组列表,从中我发现了差异

arr1=['Sam','Annie','Margorie','Ester','John'];
arr2=['Bill'、'Sally'、'Sam'、'Annie'、'Suman'、'Margorie'、'Ester'、'Pierre'、'John'];
var diff=arr2.filter(x=>!arr1.includes(x));

console.log(diff)//result….diff=['Bill','Sally','Suman','Pierre']
要组合映射/过滤器,请使用简单的for循环/if或reduce:

arr1=['Sam','Annie','Margorie','Ester','John'];
arr2=['Bill'、'Sally'、'Sam'、'Annie'、'Suman'、'Margorie'、'Ester'、'Pierre'、'John'];
常量diff=arr2.reduce((diff,x)=>!arr1.includes(x)?[…diff,[x,“New”]]:diff,[]);

console.log(diff)//结果……diff=['Bill','Sally','Suman','Pierre']
谢谢。顺便提一下,可以将其重写为普通javascript而不是使用箭头函数吗?我仍在努力使用箭头函数。@sifar
const diff=arr2.reduce(函数(diff,x){return!arr1.includes(x)?[…diff,[x,“New”]]:diff},[])
或更详细地
const diff=arr2.reduce(函数(diff,x){if(!arr1.includes(x))返回diff.concat([x,“New”]);返回diff},[])太好了!但是使用
Const
而不是
Var
有什么原因吗?从速度性能的角度来看,对于大范围,哪一个应该更快?@sifar
const
let
更可取,因为范围限制,因此更不容易出错<通常应避免使用代码>风险值
。拥有优秀的资源。