- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我只是在删除数组中的对象时偶然发现了这一点。
Mã này như sau:
friends = [];
friends.push(
{
a: 'Nexus',
b: 'Muffin'
},
{
a: 'Turkey',
b: 'MonkMyster'
}
)
console.log(friends);
for(i in friends){
if(friends[i].a == 'Nexus'){
delete friends[i];
friends.push({
a: 'test',
b: 'data'
});
}
}
console.log(friends);
发布于 jsfiddle
基本上,为什么我的第一个console.log
của friends
Đầu ra:[对象,对象]
但是,当在循环中删除该对象然后将新对象添加到数组时,它会记录:
[1:对象,2:对象]
1:, 2:
到底是什么意思(显然是为每个对象关联),但我想知道为什么在 friends
第一次登录后它不存在?我的 friend 数组中的对象符号是否错误?我觉得我创建的初始 friends
数组有误,而 JavaScript 解析器正在纠正我?
câu trả lời hay nhất
因为您删除了第一个项目(没有重新索引)并推送了一个新项目。
最初,您有一个数组,其中一个对象位于第 0 个位置,另一个对象位于第 1 个位置。
更改后,您有一个数组,第一个位置是一个对象,第二个是另一个对象。
因此,控制台只想显示第一个条目位于第 1 个位置,而不是第 0 个位置。
每个控制台可能会以不同的方式执行此操作,例如在我得到的 Firefox 上
Array [ <1 empty slot>, Object, Object ]
控制台只是一个调试工具,你可以忽略那些语法。你没有做错任何事。
但是,使用稀疏数组可能有点奇怪。您可以考虑重新索引数组而不是仅仅删除属性:
delete array[position]; // Just remove
array.splice(position, 1); // Remove and reindex
关于javascript - Object, Object 和 [1 : Object, 2 : Object]? 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31104935/
Điều này hiếm khi được sử dụng trong jquery. Khi tôi nhìn vào mã, tôi thấy rằng nó đã được sử dụng, vì vậy tôi đã gỡ lỗi giá trị của cái này và nghĩ rằng đó là trường hợp. Vẫn khá hữu ích. Dưới đây là bản tóm tắt về sự khác biệt và cách sử dụng của this và $(this). $(this) tạo ra cái gì?
Có sự khác biệt nào giữa việc sử dụng lớp đơn so với đậu được quản lý trong phạm vi ứng dụng để chứa dữ liệu ứng dụng không? Tôi cần tìm một số tài nguyên JNDI, chẳng hạn như giao diện Bean từ xa, vì vậy tôi đã viết cho mình một singleton để lưu trữ các tài liệu tham khảo của mình và chỉ cho phép
Nếu nhìn kỹ vào hình ảnh kèm theo, bạn sẽ nhận thấy rằng bạn có thể sử dụng IDE Eclipse để cấu trúc lại mã Groovy và chuyển đổi các phương thức thành các bao đóng và ngược lại. Vậy, chính xác thì bao đóng là gì và nó khác với một phương thức như thế nào? Ai đó có thể đưa ra một ví dụ hay về việc sử dụng các bao đóng
Sự khác biệt giữa gói lại hộp lang thang (tài liệu) và gói lang thang (tài liệu) là gì? Tôi nhận ra rằng gói lang thang chỉ hoạt động với VirtualBox
Tôi muốn xem liệu có ai có thể giải thích lý do tại sao đoạn mã sau hoạt động với valueOf mà không phải với các mã khác không. nhập java.math.BigDecimal lớp công khai Thay đổi { publ;
Câu hỏi này đã có câu trả lời: Đã đóng cửa 12 năm trước. Các bản sao có thể có: Closures/Lambda trong PHP hoặc Javascript trong giáo dân là gì
Câu hỏi này đã có câu trả lời ở đây: Vagrant, Docker, Puppet, Chef (3 câu trả lời) Đã đóng cửa 2 năm trước. Docker và đầu bếp có điểm gì chung?
Đoạn mã sau tạo ra cùng một kết quả trên 95% máy, nhưng khác nhau trên một số máy. Ở chế độ Gỡ lỗi, đầu ra là: Thay đổi từ Mới thành Fin OK nhưng ở chế độ Phát hành: Thay đổi
////Tạo đối tượng var Obj; // init Object Obj= {}; Sự khác biệt giữa hai đối tượng này là gì? Có thể biến điều này thành một lớp lót? Có bất kỳ lợi ích nào khi sử dụng nó theo cách này không?
Tôi muốn tìm hiểu sự khác biệt giữa các dịch vụ hẹn giờ. Tôi nên sử dụng cái nào và khi nào. Tôi đang sử dụng máy chủ ứng dụng Jboss. 1) java.ejb.Schedule. @Schedule chú thích hoặc cấu hình từ xml. 2) javax.e
Tôi đã phát hiện ra rằng có ba cách khác nhau để chuyển đối tượng sang hàm trong C++. Giả sử lớp của tôi như thế này: class Test { int i; public: Test(int x);
Sự khác biệt là gì? Kiểm tra lớp công khai { public static void main(String args[]) { String toBeCast = "c
Nếu tôi có một cột, hãy đặt làm chỉ mục chính, đặt làm INT. Nếu tôi không đặt nó ở chế độ tự động tăng và chỉ chèn các số nguyên ngẫu nhiên duy nhất vào đó, liệu điều này có làm chậm quá trình truy vấn trong tương lai so với tự động tăng không? Nếu tôi có chỉ mục chính và chỉ mục duy nhất là int
Sự khác biệt giữa hai định dạng ngày này là gì. Cái đầu tiên cung cấp thời gian thực tế và cái thứ hai cung cấp thời gian đã mua cộng với giá trị bù múi giờ. NSDateFormatter * dateFormatter = [[NSDateFormatter cấp phát]
Nếu có một hàm, giả sử foo: function foo() { console.log('bar'); } Vậy trong JavaScript, việc gọi một hàm từ một hàm khác như thế này có gì khác biệt: f
đóng cửa. Câu hỏi này dựa trên ý kiến. Câu trả lời không được chấp nhận vào thời điểm này. Bạn muốn cải thiện câu hỏi này? Cập nhật câu hỏi để việc chỉnh sửa bài đăng này có thể trả lời nó bằng sự thật và trích dẫn. Đã đóng cửa 4 năm trước. cải tiến
Mã là gì: lớp Thời gian { riêng tư: int giờ; int phút; int giây;
Tôi biết điều này rất cơ bản, nhưng có ai phiền giải thích sự khác biệt giữa hai cách khai báo mảng này không: #include array myints; ...và: int myints[5] ...và tại sao myints.size;
Tôi đã học cách tính độ đặc hiệu của css dựa trên http://reference.sitepoint.com/css/speciality Tuy nhiên, dựa trên tài liệu tham khảo này, tôi không hiểu các lớp giả (từ c) và meta giả
Tại sao lại xuất hiện thêm dòng trống khi chạy 2)? 1 đối với tôi trông giống như 2. Vậy tại sao lại có thêm dòng trong 2)? 1) xuất p1=$(cd $(dirname $0) && pwd) #
Tôi là một lập trình viên xuất sắc, rất giỏi!