【问题标题】:push 1D array to 2D array in first position with javascript [duplicate]使用javascript将一维数组推到第一个位置的二维数组[重复]
【发布时间】:2018-11-30 10:08:03
【问题描述】:

我尝试按特定顺序将一个数组推送到其他数组 使用这个 javascript 代码:

var arr1=["A","B","C","D","E","F"];
var arr2=["1","2","3"]

console.log(arr1.splice(0,-1,arr2));

its reutn [];

my desire rusult : ["1","2","3","A","B","C","D","F"]

请任何人告诉我如何使用拼接功能实现我想要的结果 ps:我可以通过循环实现这一点

谢谢

编辑:抱歉,我的问题具有误导性。这是我的实际情况:

arr1 :[["A","B","C"],["D","E","F"]]
arr2 :["1","2","3"]

预期输出:[["1,"2","3","A","B","C"],["1","2","3","D","E","F"]]

我试过了:

arr1.map(function(e) {
    return e.splice(0, -1, arra2)
});

但我得到了:[],[]

【问题讨论】:

  • 您想要新变量还是更新?
  • E 从输出中哪里去了? :p
  • 即使您编辑 Rio 它仍然是重复的,问题与使用 map 相同

标签: javascript arrays


【解决方案1】:

你可以像这样使用Spread syntaxconst result = [...arr2, ...arr1];

代码:

const arr1 = ["A","B","C","D","E","F"];
const arr2 = ["1","2","3"]
const result = [...arr2, ...arr1];

console.log(result);

【讨论】:

  • 我喜欢这个答案:)
【解决方案2】:

由于其他解决方案会创建一个新数组,因此我们可以通过使用unshift 方法结合就地修改您的原始数组来使用一种方法扩展语法。

var arr1=["A","B","C","D","E","F"];
var arr2=["1","2","3"]

arr1.unshift(...arr2);
console.log(arr1);

【讨论】:

    【解决方案3】:

    你必须使用splice吗? concat 方法完全符合您的要求。

    var arr1=["A","B","C","D","E","F"];
    var arr2=["1","2","3"]
    
    var result = arr2.concat(arr1);
    console.log(result);
    
    // If you're okay with using spread syntax (doesn't work in IE), you could just:
    console.log([...arr2, ...arr1]);

    【讨论】:

    • uisng concate,如果 arr1 和 array2 在同一维度,则可以完成,但在我的情况下,arr1 是 2D 而 arr1 是 1D,所以我无法更改顺序
    • @RioArfani 你能更新你的例子,让 arr1 是你想要的二维吗?
    【解决方案4】:

    拼接适用于给定的数组,如果您想在数组的开头添加 arr2 的值,那么您可以将数组与展开的数组拼接。

    Array#splice 返回 ts 通过第二个参数的计数从给定数组中取出的数组,这里的 id 为零,而不是 -1,这没有意义。

    var arr1 = ["A", "B", "C", "D", "E", "F"],
        arr2 = ["1", "2", "3"]
    
    arr1.splice(0, 0, ...arr2); // returns []
    
    console.log(arr1);

    【讨论】:

      【解决方案5】:

      docsArray.splice的返回值为

      包含已删除元素的数组。如果只有一个元素 删除,返回一个元素的数组。如果没有元素 删除后,返回一个空数组。

      它不会返回更新后的数组,并且由于您没有删除任何元素,它将返回一个空数组。

      对于add某些在特定索引处使用splice的条目,可以尝试关注。

      var arr1=["A","B","C","D","E","F"];
      var arr2=["1","2","3"]
      arr1.splice(0,0, ...arr2);
      console.log(arr1);

      【讨论】:

        猜你喜欢
        • 2022-12-07
        • 2013-01-27
        • 1970-01-01
        • 2021-12-31
        • 1970-01-01
        • 2020-04-02
        • 2011-10-18
        • 2012-11-13
        • 1970-01-01
        相关资源
        最近更新 更多