gpt4 book ai didi

javascript - 为什么这个函数在使用includes方法时会抛出错误?

转载 作者:行者123 更新时间:2023-12-01 00:07:04 25 4
gpt4 key购买 nike

我无法弄清楚为什么这个函数在到达'includes'方法时会抛出错误,当控制台记录白名单时,它显示它是一个数组,当我使用include时方法,它抛出一个错误,无法读取未定义的属性

const test = (body, ...whitelists) => {
const bodies = whitelists.map(({ type = null, whitelist }) => {
console.log('whitelist ', whitelist)

const whitelistedBody = Object.entries(body).reduce(
(newBody, [key, value]) => {
console.log('KEY ', key)
console.log('whitelist ', whitelists)

if (whitelist.includes(key)) {
newBody[key] = value;
}

console.log('newBody ', newBody)
return newBody;
},
{}
);

return { type, body: whitelistedBody };
});

return (
bodies.find(({ body }) => Object.keys(body).length) || {
body: {},
type: null,
}
);
};

test({firstKey: '123'}, ['firstKey']);

最佳答案

这是因为您将一个数组作为 test 的第二个参数传递,然后您尝试从该数组中提取 whitelist 属性,这是没有意义的。

console.log('whitelist ', Whitelist) 按预期显示 undefined,因为 ['firstKey'].whitelist未定义

不确定您想在这里做什么。

关于javascript - 为什么这个函数在使用includes方法时会抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60309556/

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