JavaScript dizi döngü
Java for()
bir döngü gibi: bir dizi nesneleri geçmesi için kullanabilirsiniz
String[] myStringArray = {"Hello","World"};
for(String s : myStringArray)
{
//Do something
}
JavaScript içinde sen de aynısını yapabilir misin?
CEVAP
for
sıralı bir döngü kullanın:
var myStringArray = ["Hello","World"];
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i ) {
alert(myStringArray[i]);
//Do something
}
@zipcodeman for...in
deyimini kullanmayı öneriyor, ama yineleme diziler için for-in
Kaçınılması gerektiğini, bunu ifade etmek içindirnumaralandırmanesne özellikleri.
Dizi gibi nesneler için kullanılan olmamalıdır:
- Yineleme sırasını garanti edilmez, dizi dizinleri sayısal sırayla ziyaret olmayabilir.
- Kalıtsal özellikleri de sayılmıştır.
İkinci nokta ise özelliği de numaralandırılmış Array.prototype
yöntemi eklemek için nesneyi uzatmak, sorun bir sürü örnek verebilir.
Örneğin:
Array.prototype.foo = "foo!";
var array = ['a', 'b', 'c'];
for (var i in array) {
alert(array[i]);
}
Yukarıdaki kodu uyarır, "", "b", "c" ve "foo!".
Eğer ağır yerli prototip dayanan bazı kütüphane kullanırsanız augmention (örneğin MooTools gibi) özellikle bir sorun olabilir.
Dediğim gibi for-in
deyim öncenumaralandırmaörneğin: nesne özellikleri
var obj = {
"a": 1,
"b": 2,
"c": 3
};
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
// or if (Object.prototype.hasOwnProperty.call(obj,prop)) for safety...
alert("prop: " prop " value: " obj[prop])
}
}
Yukarıdaki örnekte hasOwnProperty
Bu yöntem, yalnızca numaralandırma sağlarmülkleri varbu , sadece fiziksel olarak nesne özellikleri, kalıtsal özellikleri yok.
Aşağıdaki makaleyi okumanızı tavsiye ederim:
Bir Dizi çoğaltmak için Javascript en ...
Bir döngü içinde nesne harfleri bir di...
'döngü için en hızlı yol boyunca ...
İlişkisel dizi Javascript foreach döng...
JavaScript içinde bir dizi belirli bir...