从数组中选择最小数量并删除其余的JavaScript

用户名

我有一个非常复杂的数组,需要转换为特定格式。该数组如下所示:

arr = [["name1",51,1,"code1",3],["name2",52,0,"code2",4,"code3",6],["name3",51,2,"code4",3,"code5",6,"code6",1],["name4",55,5,"code7",7,"code8",1],["name5",54,2,"code9",5,"code10",8]];

我的输出需要中的每个数组仅包含5个值-3个第一个值始终与输入中的相同。接下来的2个值应包含代码和数组其余部分中的最小值。因此,这种情况下的输出将如下所示:

output = [["name1",51,1,"code1",3],["name2",52,0,"code2",4],["name3",51,2,"code6",1],["name4",55,5,"code8",1],["name5",54,2,"code9",5]];

首先,我认为最好是使用for和if指令的循环,但是我不知道以后如何处理。

for (i=0; i<arr.length; i++) {
    if (arr[i]>5) {
     //dont know what to put here   
    }
}
贝菲兹

我的解决方案:

arr = [
    ["name1",51,1,"code1",3],
    ["name2",52,0,"code2",4,"code3",6],
    ["name3",51,2,"code4",3,"code5",6,"code6",1],
    ["name4",55,5,"code7",7,"code8",1],
    ["name5",54,2,"code9",5,"code10",8]
];

function process_array(in_array) {
    
  var output = [];
  
  /* check each element in array */
  in_array.forEach(function(sub_array){
      
      /* store new sub array here*/
      var last_sub_out = [];
      
      var code;
      var lowest_num = Number.MAX_VALUE;
      
      /*  check sub array
          @value is value of sub_array
          @index is index of that value. 
      */
      sub_array.forEach(function(value, index){
          
          /* add first 3 values */
          if(index < 3) {
              last_sub_out.push( value );
              return;
          }
          
          /* checking only numbers(even index: 4,6,8, ...) */
          if(index % 2 == 0) {
              if(value < lowest_num) {
                  code = sub_array[index - 1];
                  lowest_num = value;
              }
          }
      });
      
      /* add found code with lowest number */
      last_sub_out.push(code, lowest_num);
      
      output.push( last_sub_out );
      
      /* LOG */
      document.write(last_sub_out.join(', ') + "</br>");
  });
  return output;
}

var out = process_array(arr);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除最小数量的重叠圆?

来自分类Dev

从数组JavaScript中选择特定值并将其删除

来自分类Dev

从Javascript对象中选择数组

来自分类Dev

查找交换的最小数量以对数组进行排序

来自分类Dev

尝试确定Java数组中的最小数量和位置

来自分类Dev

对数组进行排序的“插入”的最小数量

来自分类Dev

修改numpy数组以获取元素之间的最小数量的值

来自分类Dev

从数组中选择前两个,其余部分选择加号(+)

来自分类Dev

PostgreSQL获得最小数量(*)?

来自分类Dev

PostgreSQL获得最小数量(*)?

来自分类Dev

JavaScript。无法从数组中选择元素

来自分类Dev

从数组中选择器-jQuery / Javascript

来自分类Dev

Javascript:从数组中的对象中选择属性

来自分类Dev

从JavaScript中的数组数组中选择随机数组

来自分类Dev

选择满足生产产量总和的最小数量的机器-简化代码?

来自分类Dev

如何从SQL Server中的两行中选择整个最小数据记录

来自分类Dev

从给定列表中选择最小数字以给出总和 N(允许重复)

来自分类Dev

删除具有最小数量的嵌套模型时出现的问题

来自分类Dev

删除边的最小数量以断开图中的两个顶点

来自分类Dev

删除具有最小数量的嵌套模型时出现的问题

来自分类Dev

找到平均值。int数组的最大,最小数量和模式

来自分类Dev

Javascript-从数组的选择器中选择值

来自分类Dev

从数组中选择随机元素并将其删除

来自分类Dev

jQuery / Javascript:遍历数组以从数组值中选择div

来自分类Dev

jQuery / Javascript:遍历数组以从数组值中选择div

来自分类Dev

TEdit:自动完成并限制最小数量

来自分类Dev

SVG的最小数量是多少?

来自分类Dev

Clojure:支持meta的最小数量实现?

来自分类Dev

SQL:如何获取最小数量?

Related 相关文章

  1. 1

    删除最小数量的重叠圆?

  2. 2

    从数组JavaScript中选择特定值并将其删除

  3. 3

    从Javascript对象中选择数组

  4. 4

    查找交换的最小数量以对数组进行排序

  5. 5

    尝试确定Java数组中的最小数量和位置

  6. 6

    对数组进行排序的“插入”的最小数量

  7. 7

    修改numpy数组以获取元素之间的最小数量的值

  8. 8

    从数组中选择前两个,其余部分选择加号(+)

  9. 9

    PostgreSQL获得最小数量(*)?

  10. 10

    PostgreSQL获得最小数量(*)?

  11. 11

    JavaScript。无法从数组中选择元素

  12. 12

    从数组中选择器-jQuery / Javascript

  13. 13

    Javascript:从数组中的对象中选择属性

  14. 14

    从JavaScript中的数组数组中选择随机数组

  15. 15

    选择满足生产产量总和的最小数量的机器-简化代码?

  16. 16

    如何从SQL Server中的两行中选择整个最小数据记录

  17. 17

    从给定列表中选择最小数字以给出总和 N(允许重复)

  18. 18

    删除具有最小数量的嵌套模型时出现的问题

  19. 19

    删除边的最小数量以断开图中的两个顶点

  20. 20

    删除具有最小数量的嵌套模型时出现的问题

  21. 21

    找到平均值。int数组的最大,最小数量和模式

  22. 22

    Javascript-从数组的选择器中选择值

  23. 23

    从数组中选择随机元素并将其删除

  24. 24

    jQuery / Javascript:遍历数组以从数组值中选择div

  25. 25

    jQuery / Javascript:遍历数组以从数组值中选择div

  26. 26

    TEdit:自动完成并限制最小数量

  27. 27

    SVG的最小数量是多少?

  28. 28

    Clojure:支持meta的最小数量实现?

  29. 29

    SQL:如何获取最小数量?

热门标签

归档