gpt4 book ai didi

javascript - 将 for 循环变成 lodash _.forEach

转载 作者:行者123 更新时间:2023-11-28 15:18:06 24 4
gpt4 key购买 nike

我正在尝试改变这个

        _.forEach(dataset, function(items) {
_.forEach(items, function(item) {
for (var key in item) {
if (key.indexOf('XX') === 0) {
var toJsonVar = item[key];
parseString(toJsonVar, function(err, res) {
item[key] = res;
});
}
}
});
});

正如你可能看到的,我在前两个作用域上有来自 lodash 的 _.forEach ,但在第三个作用域中我有一个 for in 循环,我正在尝试转换为 lodash 但我收到错误。

            _.forEach(item, function(key)) {
if (key.indexOf('XX') === 0) {
var toJsonVar = item[key], toJsonRes;
parseString(toJsonVar, function(err, res) {
item[key] = res;
});
});

这是我尝试过的方法,我做错了什么?

错误提示

TypeError: undefined is not a function

错误行是

if (key.indexOf('XX') === 0) {

最佳答案

问题是,当您使用 for (var key in item) { 时,key 实际上是对象的 key ,但是在 lodash _.forEach 中,第一个参数是对象中的。试试这个...

_.forEach(item, function(toJsonVar, key)) {
if (key.indexOf('XX') === 0) {
parseString(toJsonVar, function(err, res) {
item[key] = res;
});
}
});

不再需要使用 var toJsonVar = item[key] 查找值,因为 lodash 已将其作为第一个参数传递给回调

关于javascript - 将 for 循环变成 lodash _.forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725583/

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