javascript - 压入后数组不是从 0 开始而是从 1 开始

标签 javascript arrays

我已经调试了一段时间,但决定询问一些专业人士,为什么在我将元素插入数组后它从 0 开始。这是我的代码。

 var Collect = [{
 }];

收集已初始化

所以这是我从 firebase 收集元素的函数。

function getDataFirebase(){
return new Promise (function(resolve,reject){
    refReview.on("value", function(snap){
    var data = snap.val();
                for(var key in data){              
                        Collect.push({
                        RevieweeName: data[key].revieweeID.firstname.concat(" ",data[key].revieweeID.lastname),
                        ReviewerName: data[key].reviewerID.firstname.concat(" ",data[key].reviewerID.lastname),
                        rating:data[key].rating,
                        content: data[key].content
                        })
                        }//end of for loop

    }); //end of snap 
    resolve();   

}); }

从 firebase 收集所有数据后,我在控制台中打印了 Collect 数组,它显示了这一点, enter image description here

我想从 0 而不是 1 开始。

最佳答案

您使用单个空对象初始化了数组:

var Collect = [{
 }];

如果您希望它真正为空,请不要将空对象初始值设定项放在那里:

var Collect = [];

关于javascript - 压入后数组不是从 0 开始而是从 1 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48406608/

相关文章:

javascript - 我通过 jquery 字符串发送跨站点伪造 token ,但在下一页上我生成一个新 token ,然后它们的 token 永远不会匹配

javascript - 为什么这个 javascript 代码有效?

javascript - 如何通过循环每次将数据推送到不同的数组?

arrays - RowMapper 的 Spring jdbc 模板的单元测试用例

javascript - 构建需要很长时间响应的 API 的最佳实践是什么?

javascript - 如何使用 AJAX 刷新表格

arrays - Powershell-创建大量哈希表的最快方法

javascript - 如何在JS中删除存储在数组中的输入

python - 从一系列数字生成二进制数据数组

Javascript - 用换行符(而不是逗号)分隔数组值?