当前位置: 首页 > 知识库问答 >
问题:

将项目数组缩减为单个数组列表[重复]

邬浩涆
2023-03-14
var input=[
    [
        2
    ],
    [
        3,
        13
    ],
    [
        4,
        14
    ],
    [
        5,
        15,
        25,
        35
    ]
]

var output=[
    2,
    3,
    13,
    4,
    14,
    5,
    15,
    25,
    35
]

我的代码:

  function reduceArray(item){
                  for(var i=0;i<item.length;i++){
                      return i;
                  }
              }
    var result=result.map((item)=>{
                   if(item.length>0){
                       return reduceArray(item);
                   }else{
                       return item;
                   }
               }) 

产生同样的结果。谁能找出我做错了什么或任何其他方法来实现这一点..谢谢

共有1个答案

吉俊德
2023-03-14
input.reduce(function(a, x) { return a.concat(x); });
// => [2, 3, 13, 4, 14, 5, 15, 25, 35]

reduce将累加器设置为第一个元素(如果提供了开始值),然后用累加器和每个后续元素调用函数。我们提供的功能是级联。如果我们说输入[a,b,c],那么上面的命令将等效于a.concat(b).concat(c)[concat](https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/array/concat)通过将两个或多个数组混合在一起生成一个新数组。

编辑:实际上,还有另一种可能的答案:

Array.prototype.concat.apply(input[0], array.slice(1));
// => [2, 3, 13, 4, 14, 5, 15, 25, 35]

这直接调用concat并带有多个参数;如果input又是[a,b,c],那么这相当于a.concat(b,c)apply调用具有给定接收方和参数的函数;slice只提供数组的一部分,在本例中,所有内容都从第一个元素开始(我们需要将其砍掉,因为它需要成为concat调用的接收者)。

 类似资料:
  • 问题内容: 假设我有; 我尝试转换; 我现在正在vstack上通过迭代来解决它,但是对于特别大的LIST来说确实很慢 您对最佳有效方法有何建议? 问题答案: 通常,您可以沿任意轴连接整个数组序列: 但你 也 必须对列表中的形状和每个阵列的维度担心(用于2维3x5的输出,你需要确保它们都是2维正由-5阵列的话)。如果要将一维数组连接为二维输出的行,则需要扩展其维数。 正如Jorge的答案所指出的那样

  • 问题内容: 我有一个这样的清单: 并在这样的对象上: 如何将“列表”分配给“ myMatrix”? 我不想遍历列表并将元素逐个分配给MyMatrix,但我想尽可能地直接分配它(使用oppurtune修改)。谢谢 问题答案: 您可以使用。 Java文档

  • 问题内容: 我有一个JavaScript数组,我想将其推送到一个新数组中。除了我不想成为。我想将所有项目推入新数组: 甚至更好: 因此,新数组现在包含各个数据数组的所有值。是否有一些速记可用,所以我不必遍历每个人,逐个添加项目? 问题答案: 使用concat函数,如下所示: 的值将为(且保持不变;为结果创建并返回一个新数组)。

  • 给定一个< code>n数和sum 的列表,将这些数分成< code >两个组,使得每组中的数之和小于或等于s。如果可以分组,则打印< code>YES,如果不能分组,则打印< code>NO。 例如,如果< code>n=3,s=4和< code>n数是< code>2,4,2。在这种情况下,输出为< code>YES,因为可以形成两个组< code>(2,2)和(4)。 我的解决方案如下。 是

  • 问题内容: 嗨,我正在尝试合并两个数组,并且还想从最终数组中删除重复的值。 这是我的数组1: 这是我的数组2: 我用于将两个数组合并为一个数组。它正在给出这样的输出 我要删除这些重复的条目,或者在合并之前删除它们…请帮助。.谢谢!!! 问题答案: http://se2.php.net/manual/zh/function.array- unique.php

  • 下面是一个示例数据帧: 我想要的是 最好作为Numpy数组的列表。 我知道给了我列表,而给了我类似于的东西,但作为对象。但是,我尝试了,但没有得到预期的结果。 我该如何实现这一点?谢谢!