Nhận dữ liệu json được tổng hợp theo các chỉ mục bằng số. Khi Im trong forloop của tôi, ví dụ, chỉ số có thể bắt đầu ở 1, có nghĩa là trong forloop của tôi một lỗi sẽ xảy ra vì 0 không tồn tại. Làm thế nào để kiểm tra xem một chỉ mục số tồn tại trong mảng javascript?Kiểm tra chỉ mục bằng số trong một mảng javascript
Trả lời
var a = [1, 2, 3],
index = 2;
if (a[index] !== void 0) { /* void 0 === undefined
* See concern about ``undefined'' below. */
/* index doesn't point to an undefined item. */
}
Bạn sẽ có thể sử dụng for(key in data)
var data = [];
data[1] = 'a';
data[3] = 'b';
for(var index in data) {
console.log(index+":"+data[index]);
}
//Output:
// 1-a
// 3-b
Mà sẽ lặp qua từng hạng mục quan trọng trong dữ liệu nếu các chỉ số không tiếp giáp.
Nếu những gì bạn đang thực sự mô tả là một Object
chứ không phải là một Array
, nhưng là mảng như thế nào trong thực tế là nó có các tính chất đó là của uint32_t nhưng không có cần thiết tài sản length
hiện. Sau đó, bạn có thể chuyển đổi nó thành một mảng thực như thế này. khả năng tương thích trình duyệt khôn ngoan này đòi hỏi hỗ trợ của hasOwnProperty
Javascript
function toArray(arrayLike) {
var array = [],
i;
for (i in arrayLike) {
if (Object.prototype.hasOwnProperty.call(arrayLike, i) && i >= 0 && i <= 4294967295 && parseInt(i) === +i) {
array[i] = arrayLike[i];
}
}
return array;
}
var object = {
1: "a",
30: "b",
50: "c",
},
array = toArray(object);
console.log(array);
Output
[1: "a", 30: "b", 50: "c"
] `
On jsfiddle
Ok, bây giờ bạn có một mảng dân cư thưa thớt và muốn sử dụng vòng lặp for
để làm điều gì đó.
Javascript
var array = [],
length,
i;
array[1] = "a";
array[30] = "b";
array[50] = "c";
length = array.length;
for (i = 0; i < length; i += 1) {
if (Object.prototype.hasOwnProperty.call(array, i)) {
console.log(i, array[i]);
}
}
Ouput
1 "a"
30 "b"
50 "c"
On jsfiddle
Ngoài ra, bạn có thể sử dụng Array.prototype.forEach
nếu trình duyệt của bạn hỗ trợ nó, hoặc shim sẵn như được đưa ra trên trang MDN mà tôi được liên kết hoặc es5_shim
Javascript
var array = [];
array[1] = "a";
array[30] = "b";
array[50] = "c";
array.forEach(function (element, index) {
console.log(index, element);
});
Output
1 "a"
30 "b"
50 "c"
On jsfiddle
Xe để giải thích phiếu bầu xuống? – Xotic750
- 1. Kiểm tra xem NumPy mảng chỉ chứa số không
- 2. Kiểm tra xem mỗi mục trong một mảng có giống hệt nhau trong javascript
- 3. Kiểm tra xem chuỗi bên trong một mảng javascript
- 4. Kiểm tra xem một mảng có một số mục trong coffeescript
- 5. Cách kiểm tra chỉ mục trong Oracle
- 6. Javascript - kiểm tra mảng cho giá trị
- 7. Javascript - Kiểm tra liệu một mảng đa chiều là undefined
- 8. Typescript - Cách kiểm tra xem một chỉ mục mảng có tồn tại không?
- 9. Nhận giá trị chỉ mục mảng của 1000 mục lớn nhất trong một mảng bằng LINQ
- 10. Chỉ mục mảng bắt đầu từ một số không 0
- 11. Truy vấn để kiểm tra chỉ mục trên một bảng
- 12. Kiểm tra nếu một mảng chứa một mảng với PHP
- 13. Mảng 2D $ Chỉ mục trong AngularJS
- 14. Lấy chỉ mục của một mục trong danh sách mảng;
- 15. Kiểm tra/Bỏ chọn tất cả các hộp kiểm tra với javascript trong một mảng PHP với các phím
- 16. kiểm tra xem một mảng có chứa bất kỳ mục nào từ mảng khác
- 17. Kiểm tra nhiều mục trong mảng bằng cách sử dụng .include? - Ruby Beginner
- 18. Kiểm tra Chiều dài đa chiều Mảng với Javascript
- 19. Ghép mảng Javascript mà không thay đổi chỉ mục
- 20. Kiểm tra xem mỗi phần tử trong một mảng có nhiều mảng nằm trong một mảng khác
- 21. Kiểm tra ngày trong JavaScript
- 22. Kiểm tra/Bỏ chọn hộp kiểm bằng JavaScript?
- 23. mã ngắn nhất để kiểm tra xem một số là trong một phạm vi trong JavaScript
- 24. Loại bỏ một phần tử từ một mảng chỉ định một giá trị trong Javascript
- 25. Chỉ kiểm tra các chữ số trong VB.NET Chuỗi
- 26. Kiểm tra xem một số có bằng một số khác trong bash
- 27. Sử dụng các hằng số làm chỉ mục cho các mảng kết hợp Javascript
- 28. Kiểm tra một số định dạng ngày bằng DateTime.TryParse()
- 29. Cách lấy giá trị tại một chỉ mục cụ thể của mảng Trong JavaScript?
- 30. Kiểm tra Powershell nếu mảng trong một dòng
Hãy xem ví dụ về dữ liệu json này – Musa
Làm thế nào có thể một chỉ số * không * tồn tại trong một mảng? Ý của bạn là giá trị của nó là 'undefined', đúng không? – acdcjunior
Vui lòng đăng một ví dụ. Mô tả các vấn đề trong câu hỏi thường khó trả lời mà không có ví dụ cụ thể. – CodeMonkeyKing