Javascript:根据模式拆分数组:项1、5、10、2、6、11、3、7、12

我是Viatte

我正在尝试拆分一个具有重复模式的元素1、2、3和4的数组。我想将数组变成[1,2,3,4,5,6,7,8,9,10]分为四个数组:[1,5,10],[2,6,11],[3,7,12]和[4,8,13]。我尝试使用倍数,但是结果以错误的顺序创建了新数组。这是我的尝试:

var upload_names_and_ids = [

    "Certificat de salaire", //first line is the upload's visible title
    "certificat-de-salaire", //second line is the upload's id
    "no-info-circle", //third line is the info-circle class
    "", //fourth line is the info-circle text
    
    "Allocations Familiales",
    "alloc-familiales",
    "no-info-circle",
    "",
    
    "Courrier Impot (déclaration précédente)",
    "courrier-impot",
    "info-circle right",
    ""
    
];

//Seperate our first array into 4

var upload_names = [];
var upload_ids = [];
var upload_info_circle_class = [];
var upload_info_circle_content = [];

for (var i=0; i<upload_names_and_ids.length; i++){
    if (i%4==0) {
        upload_info_circle_content.push(upload_names_and_ids[i]);
    } else if (i%3==0) {
        upload_info_circle_class.push(upload_names_and_ids[i]);
    } else if (i%2==0) {
        upload_names.push(upload_names_and_ids[i]);
    }   else {
      upload_ids.push(upload_names_and_ids[i]);
    }
}

非常感谢您的任何帮助,谢谢!

妮娜·斯科茨(Nina Scholz)

您可以使用索引和所需长度的余数。

const
    array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
    length = 4,
    result = array.reduce(
        (r, v, i) => (r[i % length].push(v), r),
        Array.from({ length }, _ => [])
    );

console.log(result);

如果您想直接使用预先声明的数组,则可以替换此行

Array.from({ length }, _ => [])

[upload_names, upload_ids, upload_info_circle_class, upload_info_circle_content]

的累加器Array#reduce保留对象引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

来自分类Dev

如何拆分数组以分隔 JavaScript 中的后续相似项

来自分类Dev

为什么索引2、3、6、7、10、11的“ fifoBuffer”值未在teapotPacket []数组中传递?

来自分类Dev

如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

来自分类Dev

Ruby拆分数组,然后根据模式返回第一个元素

来自分类Dev

将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

来自分类Dev

Javascript - 找到 1-4-7, 2-5-8, 3-6-9 iretartions?

来自分类Dev

可以排序以1 2 3 4..9代替1 10 11 12 .. 2 20

来自分类Dev

javascript拆分数组取决于名称

来自分类Dev

在Javascript中的参数中拆分数组

来自分类Dev

如何根据特定条件拆分数组的数组?

来自分类Dev

如何根据子数组元素状态拆分数组?

来自分类Dev

如何转换list1中的list = [1,2,[3,4],[5,6],7,[8,9,10]] = [1,2,3,4,5,6,7,8 ,9,10]在python中?

来自分类Dev

根据列名模式拆分数据帧,然后重新绑定为1个数据帧

来自分类Dev

在用户键入(1 2 3 4 5 6 7 8 9 10)时无法显示正确的最大值

来自分类Dev

根据类别拆分数组列表的最佳方法

来自分类Dev

根据相应的numpy数组值拆分数据框

来自分类Dev

如何根据关键字动态拆分数组?

来自分类Dev

如何根据某些值或索引拆分数组?

来自分类Dev

如果display(15)我想要结果1,2,3,4,5,6,8,9,10,12,15,16,18,20,24

来自分类Dev

MATLAB:拆分数组

来自分类Dev

Angularjs 拆分数组

来自分类Dev

拆分数组 Python

来自分类Dev

拆分数组

来自分类Dev

我希望输出像 [[1,2,3,4,5,6,7,8,9,10],[2,4,6,8,10,12...18,20] ,[3,6,9...27,30].....[9,18,27..90]]

来自分类Dev

拆分整数 8 --> [1,7],[2,6]

来自分类Dev

R:如何制作序列(1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8)

来自分类Dev

R:如何制作序列(1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8)

来自分类Dev

PHP排序-得到10,11,12 ... 1,20,2而不是1,10,11,12 ... 2,20

Related 相关文章

  1. 1

    我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

  2. 2

    如何拆分数组以分隔 JavaScript 中的后续相似项

  3. 3

    为什么索引2、3、6、7、10、11的“ fifoBuffer”值未在teapotPacket []数组中传递?

  4. 4

    如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

  5. 5

    Ruby拆分数组,然后根据模式返回第一个元素

  6. 6

    将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

  7. 7

    Javascript - 找到 1-4-7, 2-5-8, 3-6-9 iretartions?

  8. 8

    可以排序以1 2 3 4..9代替1 10 11 12 .. 2 20

  9. 9

    javascript拆分数组取决于名称

  10. 10

    在Javascript中的参数中拆分数组

  11. 11

    如何根据特定条件拆分数组的数组?

  12. 12

    如何根据子数组元素状态拆分数组?

  13. 13

    如何转换list1中的list = [1,2,[3,4],[5,6],7,[8,9,10]] = [1,2,3,4,5,6,7,8 ,9,10]在python中?

  14. 14

    根据列名模式拆分数据帧,然后重新绑定为1个数据帧

  15. 15

    在用户键入(1 2 3 4 5 6 7 8 9 10)时无法显示正确的最大值

  16. 16

    根据类别拆分数组列表的最佳方法

  17. 17

    根据相应的numpy数组值拆分数据框

  18. 18

    如何根据关键字动态拆分数组?

  19. 19

    如何根据某些值或索引拆分数组?

  20. 20

    如果display(15)我想要结果1,2,3,4,5,6,8,9,10,12,15,16,18,20,24

  21. 21

    MATLAB:拆分数组

  22. 22

    Angularjs 拆分数组

  23. 23

    拆分数组 Python

  24. 24

    拆分数组

  25. 25

    我希望输出像 [[1,2,3,4,5,6,7,8,9,10],[2,4,6,8,10,12...18,20] ,[3,6,9...27,30].....[9,18,27..90]]

  26. 26

    拆分整数 8 --> [1,7],[2,6]

  27. 27

    R:如何制作序列(1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8)

  28. 28

    R:如何制作序列(1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8)

  29. 29

    PHP排序-得到10,11,12 ... 1,20,2而不是1,10,11,12 ... 2,20

热门标签

归档