javascript - 找出数组是否包含javascript中的算术级数

标签 javascript arrays

我有一个数组:

var myarray = [1,2,3,4,7,9,12,13,14]

我需要像这样对值进行分组:

var array_1 = 1,2,3,4
var array_2 = 7
var array_3 = 8
var array_4 = 12,13,14

我需要找到一个具有等差级数并与其他值分开的序列。 有什么想法吗?

最佳答案

查看此解决方案

    function explode(myarray) 
    {  
        var multi = []; 
        var i = j = 0;
        for ( key in myarray ) 
        {
            if((myarray[key-1]) != (myarray[key]-1))
            {
                i++;
                j=0;
            }
            if(j==0)
                multi[i] = [];
            multi[i][j] = myarray[key];
            j++;
        }
        return multi;
    }

它返回一个多维数组,您可以像这样在示例中使用它

var myarray = [1,2,3,4,7,9,12,13,14];

var multi_array = explode(myarray);

var array_1 = multi_array[0];
var array_2 = multi_array[1];
var array_3 = multi_array[2];
var array_4 = multi_array[3];

新更新:

您还可以删除 j 索引并使用 .push 将新元素添加到您的数组

function explode(myarray) 
{  
    var multi = []; 
    var i = 0;
    for ( key in myarray ) 
    {
        if((myarray[key-1]) != (myarray[key]-1))
            i++;
        if(!multi[i])
            multi[i] = [];
        multi[i].push(myarray[key]);
    }
    return multi;
}

关于javascript - 找出数组是否包含javascript中的算术级数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24936361/

相关文章:

javascript - 如何仅在元素的上半部分设置高度动画

javascript - 我正在尝试应用过滤器 :brightness in JavaScript to a bunch of image elements

javascript - 使用 bootstrap-carousel.js 失败

arrays - JSON 架构 : First Item of Array

javascript - 如何将多个选择字段的值存储到数组并在选项更改时更新数组?

c++ - TCHAR 数组的深拷贝被截断

java - 使用 toString (java) 打印存储在不同数组中的对象内的对象

javascript - 我在滥用我的 POST 请求吗?我一直收到 400/500(错误的请求)

javascript - 卓别林在获取后如何渲染模型? View 如何知道获取已完成?

c - 在 C 中打印时出现奇怪的输出