Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一次更改数组多个值的最短方法?_Javascript_Arrays - Fatal编程技术网

Javascript 一次更改数组多个值的最短方法?

Javascript 一次更改数组多个值的最短方法?,javascript,arrays,Javascript,Arrays,也许这个问题对它自己的帖子来说太小了 所以基本上我在寻找类似的东西: myarray[2, 3, 7] = 155, 34, true; 有没有像这样有效的线路?或者,在不手动更改所有3个任务的情况下,实现这一点的最短方法是什么?如果您正在寻找类似于destructuring assignment的任务,则在ECMAScript 6之前不会出现,而且看起来也不太像 要做你想做的事情,你只需要单独分配 myarray[2] = 155; myarray[3] = 34; myarray[7] =

也许这个问题对它自己的帖子来说太小了

所以基本上我在寻找类似的东西:

myarray[2, 3, 7] = 155, 34, true;

有没有像这样有效的线路?或者,在不手动更改所有3个任务的情况下,实现这一点的最短方法是什么?

如果您正在寻找类似于destructuring assignment的任务,则在ECMAScript 6之前不会出现,而且看起来也不太像

要做你想做的事情,你只需要单独分配

myarray[2] = 155;
myarray[3] = 34;
myarray[7] = true;

或者创建一个函数来处理它

function assign(obj, props, vals) {
    for (var i = 0; i < props.length; i++) {
        obj[props[i]] = vals[i];
    }
}

您也可以选择使用拼接方法,如下所示:

    var myArray = [2, 3, 7];
    var otherArray = [155, 34, true];
      function arrayChanger(firstArray, secondArray){
        var orgLength = firstArray.length;
        for(i = 0; i < orgLength; i++){
        myArray.splice(i, 1, secondArray[i]);
     }
    return myArray;
    };
    arrayChanger(myArray, otherArray);
var myArray=[2,3,7];
var-otherArray=[155,34,true];
函数arrayChanger(第一个数组,第二个数组){
var orgLength=firstArray.length;
对于(i=0;i

这显示了这个解决方案的实际效果。

没有内置功能,您必须创建自己的函数。我想要一个单行函数,因为我需要对一个大型迷宫式阵列执行此操作,而不必费心设计一些复杂的巨环来为我完成这一切。该功能似乎工作完美,谢谢!
    var myArray = [2, 3, 7];
    var otherArray = [155, 34, true];
      function arrayChanger(firstArray, secondArray){
        var orgLength = firstArray.length;
        for(i = 0; i < orgLength; i++){
        myArray.splice(i, 1, secondArray[i]);
     }
    return myArray;
    };
    arrayChanger(myArray, otherArray);