Сообщение от hogart
|
в питоне for..in обходит список (или, скорее итератор). в JS for..in обходит словарь
|
Python:
for (key, value) in {'a': 1, 'b': 2}.items():
print(key, value) # a 1, b 2
for key in {'a': 1, 'b': 2}:
print(key); # a, b
JS (1.7):
for (var [key, value] in {a: 1, b: 2}) {
alert([key, value]); // a,1 ; b,2
}
for (var key in {a: 1, b: 2}) {
alert(key); // a; b
}
for / for each ... in равно так же может обходить и массив, не только объект (см., опять же, array comprehensions).
var a = [1, 2];
for (var key in a) {
alert([key, a[key]]); // 0,1; 1,2
}
Сообщение от hogart
|
И, чисто практическое соображение: массив в JS экономичнее обходится через старый добрый «сишный» for
|
Ага, т.к. не анализируется цепь прототипов, но это уже в сторону преимуществ, а не мега-отличий