Tôi gặp vấn đề này trong Javascript: Tôi muốn nhận được các giá trị kinh độ và vĩ độ từ một mảng các đối tượng. Điều này tất cả hoạt động tốt, nhưng khi tôi cố gắng lưu nó vào một mảng toàn cầu, nó sẽ ghi đè mọi giá trị trước đó. Kết quả là một mảng với 8 lần đối tượng được đẩy cuối cùng.Đẩy Javascript Đối tượng vào mảng toàn cục sẽ ghi đè các giá trị trước đó?
mảng toàn cầu: var _coordinates = [];
function getCoordinates()
{
mark = {};
for(var key in _data)
{
if(_data.hasOwnProperty(key)){
mark["lng"] = _data[key].long;
mark["lat"] = _data[key].lat;
}
console.log(mark); // Returns different coordinates (yay)
_coordinates.push(mark);
}
console.log(_coordinates); // All coordinates are the same (meh)
}
Đây là lần đầu tiên tôi hỏi một câu hỏi ở đây. Vì vậy, nếu tôi quên một cái gì đó, xin vui lòng nói như vậy.
Bạn muốn biến toàn cầu và cục bộ ở đây là gì? hiện tại, 'mark' là global,' _coordinates' được giả định + global, '_data' được giả định + global. –
vì vậy vấn đề là bạn đang làm việc trên cùng một ví dụ của 'mark' –