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

时间:2013-11-29 22:30:30

标签: javascript arrays

对于它自己的帖子来说也许是一个小问题......

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

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

这样的某种线是否有效?或者,如果不手动更改所有3个,最简单的方法是什么?

2 个答案:

答案 0 :(得分:1)

如果你正在寻找像解构分配这样的东西,那么直到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];
    }
}

并称之为:

assign(myarray, [2,3,7], [155,34,true]);

答案 1 :(得分:0)

你也可以选择像这样使用拼接方法:

    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);

Here's a JSFiddle显示了此解决方案的实际效果。