gpt4 book ai didi

javascript - 子数组在数组中重复的次数 - JavaScript

转载 作者:行者123 更新时间:2023-11-28 04:59:36 25 4
gpt4 key购买 nike

我有一个子数组,我试图找到它在主数组中重复的次数。

我已经可以确定它是否是子数组,但无法进一步确定。我有什么想法可以在 JavaScript 中做到这一点。

    function isSubArray(main_array, sub_array)
{
var i, j;
for (i=0,j=0; i<main_array.length && j<sub_array.length;)
{
if (main_array[i] !== sub_array[j])
{
++i;
}
else if (main_array[i] === sub_array[j])
{
++i; ++j;
}
}
if(j == sub_array.length)
{
return true;
}
else
{
return false;
}
}

示例:

数组 = 1,2,3,4,5,1,2,3子数组 = 1,2,3

子数组在主数组中重复两次

最佳答案

这是我为获得您所需的解决方案而制作的动态函数,

我采用了两个不同的数组并返回了两个动态的重复计数。

var array = [1,2,3,4,5,1,2,3];
var array1 = [1,2,3,4,5,1,2,3,5,9,1,2,3];
var sub_array = [1,2,3];

function getRepeatedCount(array,sub_array)
{
var count = 0;
for(i = 0; i < array.length; i++ )
{
// console.log((array.slice(i,i + sub_array.length)) === sub_array)
var repeated = ((array.slice(i,i + sub_array.length)).length==sub_array.length && (array.slice(i,i + sub_array.length)).every(function(v,i) { return v === sub_array[i]}))
if(repeated)
{
count += 1;
}
}
return count;
}
console.log("Array1",array, "Sub Array", sub_array, "Repeated count -> ",getRepeatedCount(array,sub_array));
console.log("Array1",array1, "Sub Array", sub_array, "Repeated count -> ",getRepeatedCount(array1,sub_array));

请运行以上代码段

程序:

我创建了一个函数,它将主数组切成等于子数组长度的 block (部分),并将小数组的每个 block 与子数组进行比较。

如果 chunk(part) 等于 sub_array,则函数中的计数变量会递增并返回。

HERE IS A WORKING DEMO

因此,我使该函数动态化,以便您可以使用不同的数组和子数组多次调用它。

关于javascript - 子数组在数组中重复的次数 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42239791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com