Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 在第一个点后拆分字符串并比较2个数组的长度_Javascript - Fatal编程技术网

Javascript 在第一个点后拆分字符串并比较2个数组的长度

Javascript 在第一个点后拆分字符串并比较2个数组的长度,javascript,Javascript,以下是我的阵列: var myArray = [ {field: 'region1.mp3.california', flag: false}, {field: 'region1.mp3.marines,region1.mp3.region2.mp3.california', flag: false}, {field: 'region2.mp3.california', flag: false}, {field: 'region2.mp3.abc', flag

以下是我的阵列:

var myArray = [
    {field: 'region1.mp3.california', flag: false}, 
    {field: 'region1.mp3.marines,region1.mp3.region2.mp3.california', flag: false},
    {field: 'region2.mp3.california', flag: false}, 
    {field: 'region2.mp3.abc', flag: false}, 
    {field: 'region3.mp3.abc', flag: false}, 
];

var regions = ["region1.mp3", "region2.mp3","region3.mp3"];
这里第二个点后的数据属于特定区域

例如:region1.mp3.加利福尼亚,region1.mp3.海军陆战队

california and marines belongs to region1.
所以这里我试图比较regions数组和myArray的长度,根据myArray数据和regions数组的数据长度应该相等,因为myArray包含regions数组中的所有区域数据,所以它们的长度应该相等

预期输出:真

我不知道如何使用
reduce
函数来比较

var myArray=[
{字段:'region1.mp3.california',标志:false},
{字段:'region1.mp3.marines,region1.mp3.region2.mp3.california',标志:false},
{字段:'region2.mp3.california',标志:false},
{字段:'region2.mp3.abc',标志:false},
{字段:'region3.mp3.abc',标志:false},
];
var regions=[“region1.mp3”、“region2.mp3”、“region3.mp3”];
var len1=regions.length;
var len2=myArray.reduce(函数(p,c){
返回p.concat(c.field.split(','));
},[])长度;
if(len1==len2)
console.log(true)
其他的
console.log(false)

尝试此reduce函数调用:

myArray.reduce(function(p, c) {
  var region = c.field.split(".")[0];
  return p.includes(region) == false ? p.concat(region) : p;
}, []).length;

尝试此reduce函数调用:

myArray.reduce(function(p, c) {
  var region = c.field.split(".")[0];
  return p.includes(region) == false ? p.concat(region) : p;
}, []).length;
我首先使用创建一个新数组,其中仅包含表示
region1
或` region2'或` region3'的值。此数组的大小将与
myArray

然后我使用删除重复区域。此数组将仅包含
区域1
区域2
区域3

var myArray=[
{字段:'region1.mp3.california',标志:false},
{字段:'region1.mp3.marines,region1.mp3.region2.mp3.california',标志:false},
{字段:'region2.mp3.california',标志:false},
{字段:'region2.mp3.abc',标志:false},
{字段:'region3.mp3.abc',标志:false},
];
var regions=[“region1.mp3”、“region2.mp3”、“region3.mp3”];
var myArrayRegions=[];
myArrayRegions=myArray.map(函数(o){
返回o.field.split('.')[0];
}).过滤器(功能(项目、位置、自身){
返回自身索引(项目)=位置;
});
log(JSON.stringify(myArrayRegions));
log(JSON.stringify(regions))
我首先使用创建一个新数组,该数组仅包含表示
region1
或“region2”或“region3”的值。此数组的大小将与
myArray

然后我使用删除重复区域。此数组将仅包含
区域1
区域2
区域3

var myArray=[
{字段:'region1.mp3.california',标志:false},
{字段:'region1.mp3.marines,region1.mp3.region2.mp3.california',标志:false},
{字段:'region2.mp3.california',标志:false},
{字段:'region2.mp3.abc',标志:false},
{字段:'region3.mp3.abc',标志:false},
];
var regions=[“region1.mp3”、“region2.mp3”、“region3.mp3”];
var myArrayRegions=[];
myArrayRegions=myArray.map(函数(o){
返回o.field.split('.')[0];
}).过滤器(功能(项目、位置、自身){
返回自身索引(项目)=位置;
});
log(JSON.stringify(myArrayRegions));


log(JSON.stringify(regions))您能更清楚地说明输出吗?你想比较什么?+两个数组中的长度可能相同,但区域不相同。数组包含区域数组中的所有区域数据,因此它们的长度应该相等。-从你的照片上看不明显input@Weedoze:我正在尝试比较两个数组的长度,即regions和myArray。在我的数组中,我想按常用区域对记录进行分组,然后比较两个数组的长度。请您更清楚地说明输出内容好吗?你想比较什么?+两个数组中的长度可能相同,但区域不相同。数组包含区域数组中的所有区域数据,因此它们的长度应该相等。-从你的照片上看不明显input@Weedoze:我正在尝试比较两个数组的长度,即regions和myArray。在我的数组中,我想按公共区域对记录进行分组,然后比较两个数组的长度。这将创建重复项这将创建重复项这已工作。请您稍微解释一下您的代码,好吗?我没有这行代码:返回o.field.split('.')[0];})。过滤器(功能(项目,pos,自我){。对不起,我客户端有点差:)@学习我只是简单地链接函数。我更新了答案。如果您不理解。请阅读我答案中链接的文档。这将对您有帮助。非常感谢您的帮助,请继续这样帮助:)@Learning No problem!别忘了阅读文档。它将帮助您学习这个问题。Can请解释一下您的代码??我没有得到这一行:return o.field.split('.')[0];}).filter(函数(item,pos,self){。对不起,我客户端有点差:)@学习我只是简单地链接功能。我更新了答案。如果你不明白。请阅读我答案中链接的文档。这将对你有帮助。非常感谢你的帮助,请继续这样帮助:)@Learning没问题!别忘了阅读文档。它将帮助你学习