gpt4 book ai didi

javascript - Lodash & Underscore "each"over localStorage 给出了意想不到的结果

转载 作者:行者123 更新时间:2023-11-30 09:47:30 24 4
gpt4 key购买 nike

在尝试将自定义 for in 循环切换为 underscorelodash 时,我发现有些奇怪循环。

JSBIN: http://jsbin.com/manerotoru/2/edit?html,js,console

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

最佳答案

这是一个已知问题,不会被修复。你可以找到the bug report on GitHub .

潜在的问题似乎是下划线的 _.each() 不能很好地处理具有 length 属性的对象。

错误报告的官方回应:

The final decision is that you should iterate localStorage yourself, and not rely on _.each.

关于javascript - Lodash & Underscore "each"over localStorage 给出了意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com