push到array后输出[Obj Obj], [Obj Obj]

Outputting [Obj Obj], [Obj Obj] after pushing to array

本文关键字:Obj 输出 array push      更新时间:2023-09-26

我试图创建键值对并推到数组,但我得到的只是[Obj Obj], [Obj Obj]。我创建了一个传递name和val的函数,它们用于将键和值分配给JavaScript对象。这是我的代码。不知道我错过了什么:

var currentpos = 1;
var positions = [];
function pushToAry(name, val){
    var obj = {};
    obj[name] = val;
    positions.push(obj);
}
for (i = 1; i < 4; i++) {
    $('.things').append("<div class='shell'></div>");
    var thispos = $('.shell:nth-of-type(' + i + ')').position().left;
    var currentnum = "currentnum";
    currentnum = currentnum + i;
    pushToAry(currentnum, thispos);
    currentpos++;
    alert(positions);
}

当您调用alert时,对象数组被折叠成[Object object],因此您可以这样做来扩展其中的内容:

alert(JSON.stringify(positions));

或者更好的是,您应该将结果打印到控制台窗口中,以便您可以更轻松地检查数组的内容:

console.log(positions);