我試圖創建鍵值對並推送到一個數組,但我得到的是[Obj Obj],[Obj Obj]。我創建了一個函數,它傳遞一個名稱和val,用於將鍵和值分配給JavaScript對象。這是我的代碼。不知道我的思念:推送到陣列後輸出[Obj Obj],[Obj Obj]
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);
}
[Object對象]通常只是字符串表徵的警報需要一個字符串。首先,使用'console.log'而不是'alert'。 (您可以觀察打開開發人員控制檯的結果) – doldt
代碼看起來像是正常工作。預期的結果是什麼?爲什麼要將對象推入數組而不是位置,不會僅僅推動位置值就夠了(因爲您推動的鍵已經是數組中元素的索引)? – JJJ
而不是警報(位置);在Chrome開發者控制檯中嘗試console.log(職位),您將能夠看到對象。 @Hermi –