Я заметил что-то странное при попытке переключить настраиваемый цикл for
in
на цикл или lodash
.Lodash & Underscore «each» over localStorage дает неожиданные результаты
window.localStorage.setItem("hello", "world")
console.log('-----underscore-----')
_.each(window.localStorage, function (value, key) {
console.log(value);
console.log(key);
});
console.log('-----custom-----')
function each (object, callback) {
for (var key in object) {
var value = object[key];
callback(value, key);
}
}
each(window.localStorage, function (value, key) {
console.log(value);
console.log(key);
});
Вот что вход в консоль.
-----lodash-----
undefined
0
-----custom-----
world
hello
И это не значит, что _.each
не петлю над объектами, так как он делает это очень хорошо здесь.
var data = {"hello": "world"}
_.each(data, function (value, key) {
console.log(value);
console.log(key);
});
Есть ли причина, почему я не могу использовать _.each
либо из библиотеки перебрать localStorage
?