将for循环结果添加到空数组

时间:2018-03-28 16:48:39

标签: javascript

我有一个循环,通过一系列数据。我想存储高程的结果[i] .elevation * 3.28084;在数组中。现在它只有一个循环外的值。

     var data2 = [];


     for (var i = 0; i < elevations.length; i++) {
        data2 = elevations[i].elevation*3.28084; // convert meters to feet        
    }

4 个答案:

答案 0 :(得分:3)

您希望将新项目elevation[i].elevation * 3.28084推送到数组中。但是,使用Array.prototype.map

更方便
var data2 = elevations.map(function (elevation) {
  return elevation.elevation * 3.28084
})

答案 1 :(得分:2)

您需要分配到数组条目,而不是数组本身:

data2[i] = elevations[i].elevation*3.28084;
// --^^^

或者,使用push

data2.push(elevations[i].elevation*3.28084);
// --^^^^^^-------------------------------^

答案 2 :(得分:0)

您只是为先前声明的变量data2分配值,而是使用函数push代替向数组添加新值,或使用当前索引向该数组添加新值

var data2 = [];

for (var i = 0; i < elevations.length; i++) {
  data2.push(elevations[i].elevation * 3.28084); // convert meters to feet        
}

答案 3 :(得分:-2)

您必须将结果推送到该数组:

var data2 = [];
     for (var i = 0; i < elevations.length; i++) {
        data2.push(elevations[i].elevation*3.28084); // convert meters to feet        
    }

或者您可以使用map:

将数据插入该数组
    var data2 = elevations.map(function(value){
return value.elevation*3.28084;
}