如何用另一个给定的数组元素替换数组元素

How to replace array elements with another given array elements?

本文关键字:数组元素 替换 何用 另一个      更新时间:2023-09-26

我想创建一个完全覆盖原始数组的函数。

function putDatainthis(arr) {
    //....some ways to get data
    arr = [data,data,data...]; //this just reassigns arr = to new array original that was passed as reference hasn't been modified.
}

//所以现在我唯一能想到的就是:

function putDatainthis(arr) {
    var data = [3,4,6,2,6,1];
    arr.length=0;
    data.forEach(function(e){
      arr.push(e);
    });
}

但是我想知道它是可以改进的还是有更多的本地方法

Array.prototype.splice()函数就是你要找的,这就是你的方法:

function putDataInThis(arr) {
  var data = [3, 4, 6, 2, 6, 1];
  arr.length = 0;
  arr.splice(0, arr.length, data);
  return arr;
}
alert(putDataInThis(["h", "g"]).join(","));

移植:

在下面的arr.splice(0, arr.length, data)语句中,我们使用splice()函数,参数如下:

  • 0为更换起始指标。
  • arr.length为需要替换的元素个数。
  • data是要放入数组中的新值列表。

数组。splice():插入、删除或替换数组元素以获取更多信息。

我认为你可以使用jquery合并。

function putDatainthis(arr) {
    var data = [3,4,6,2,6,1];
    $.merge(arr, data);
}

试试这个方法

function putDatainthis(arr) {
    var data = [3,4,6,2,6,1];    
    var concat_array = data.concat(arr);
}