数组赋值Javascript

时间:2014-09-18 11:01:35

标签: javascript

我必须在Javascript中执行以下任务:

data.field[0].myArray = array[0];
data.field[1].myArray = array[1];
data.field[2].myArray = array[2];
...

当然我可以使用循环:

for (i= 0; i< array.length; i++) {
    data.field[i].myArray = array[i];
}

但我想知道是否还有其他办法以更清洁的方式做到这一点。

非常感谢您提前

1 个答案:

答案 0 :(得分:0)

您可以使用array.map(),但仍在迭代数组:

array.map(function(item, index){
    data.field[index].myArray = item
});

但是,您可能希望(should)确保data.field[i]确实存在:

array.map(function(item, index){
    data.field[index] = data.field[index] || {};
    data.field[index].myArray = item
});

请注意,array.map() doesn't work in IE 8 or lower。如果您需要支持较低版本的IE,则可以 use a polyfill