带for循环的Javascript数组,仅返回最后一个元素

维罗利

我有一个for循环,将数据添加到中array但是当我console.log使用数组时,它充满了for循环的最后一项

这是我的代码:

var materialsData = results[1].data, // results[1].data is a http.get return
ln = Object.size(materialsData),
materials = [],
material = {};
material['Product'] = {};

for (var i = 0; i < ln; i++) {
    material.Product['Name'] = materialsData[i].Product.Name;
    material.Product['Id'] = materialsData[i].Product.Id;
    material.StartingDate = materialsData[i].StartingDate.replace("T00:00:00", "").split('-').reverse().join('-');
    material.Device = materialsData[i].Device;
    materials.push(material);
}
萨帕尔

materialfor块中定义当对象通过引用传递时,相同对象将object更新并推送到数组。

for (var i = 0; i < ln; i++) {
    var material = {
        Product : {
            Name : materialsData[i].Product.Name,
            Id : materialsData[i].Product.Id,
        },
        StartingDate : materialsData[i].StartingDate.replace("T00:00:00", "").split('-').reverse().join('-'),
        Device : materialsData[i].Device
    };
    materials.push(material);
}

此外,您可以使用 Array.map()

var materials = materialsData.map(function(m){
    return {
        Product : {
            Name : m.Product.Name,
            Id : m.Product.Id,
        },
        StartingDate : m.StartingDate.replace("T00:00:00", "").split('-').reverse().join('-'),
        Device : m.Device
    };
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript执行循环,但仅查看数组中最后一个元素的结果

如何仅返回数组的最后一个元素而不获取所有元素

数组仅返回一个元素

foreach循环仅输出数组中的最后一个元素

循环仅显示最后一个数组元素ActionScript3

使用jquery创建轮播效果-循环仅返回数组中的最后一个值

在for循环中构造时仅返回数组的最后一个值

For循环仅迭代Python中的最后一个元素

字典仅返回for循环内的最后一个键值对

Foreach循环仅返回最后一个结果

对于仅影响数组最后一个元素的循环,我希望我的代码对数组的每个元素起作用

嵌套循环:最后一个循环总是返回最后一个数组对象

仅获取数组猫鼬的最后一个元素

仅保存C数组的最后一个元素

如何使用for循环返回列表的最后一个元素

JavaScript [Konva]:数组多个事件仅返回最后一个对象

for循环仅返回bash脚本中的第一个数组元素

VBA数组循环未使用最后一个元素

Javascript数组仅运行函数,该函数在数组的一个元素上返回promise

展开数组并返回最后一个元素匹配条件

循环JavaScript会跳过最后一个元素

.each循环中的javascript .push方法仅返回一个数组

仅循环第一个和最后一个元素

JavaScript:使用Reduce()构造一个比较输入数组的函数交集;仅返回相交元素

选择JavaScript数组中的最后一个元素

仅显示最后一个元素

循环中的onclick仅引用循环中的最后一个元素

使... of跳过循环的最后一个元素

For循环返回最后一个结果