javascript - 如何在 JS 中的 axios 中迭代一个对象/数组/键值的 forEach (make DRY)?
问题描述
我正在努力将这段代码压缩成一个 forEach 循环,以使我的代码变干。该图像显示了我正在使用的 console.log(res)。
这是我的代码:
.get('https://website.went.here/articles')
.then((res) => {
const articles = res.data.articles;
const js = articles.javascript;
const bs = articles.bootstrap;
const jq = articles.jquery;
const node = articles.node;
const tech = articles.technology;
i = 0;
console.log(articles.values(res));
js.forEach((item) => {
card.appendChild(cardCreator(item))
});
bs.forEach((item) => {
card.appendChild(cardCreator(item))
});
jq.forEach((item) => {
card.appendChild(cardCreator(item))
});
node.forEach((item) => {
card.appendChild(cardCreator(item))
});
tech.forEach((item) => {
card.appendChild(cardCreator(item))
});
解决方案
您可以使用Object.keys
来获取对象的键。
例如,
const obj = {"javascript": [...], "python": [...], "bootstrap": [...]}
Object.keys(obj)
将输出["javascript", "python", "bootstrap"]
.
从那里,您可以将该数组存储为变量,然后像这样遍历这些键:
const keys = Object.keys(obj);
keys.forEach(key => {
obj[key]...
})
推荐阅读
- c# - Entity Framework Core - 按值列表过滤
- jquery - 如何使用 AJAX 上传图片
- javascript - Chrome v90 flex 滚动错误
- reactjs - 测试异步动作创建者时输入错误,我不明白创建者和单元模拟之间的区别
- docker - 是否可以将 tomee 与更新版本的 tomcat 一起使用?
- c++ - 使用迭代器 C++ 修改对象时遇到问题
- python - 在 PyFMI 中联合仿真两种联合仿真类型的 FMU
- java - 在 Springdoc 中未禁用 Petstore url(swagger 默认应用程序)
- python - 如何接受“任何整数”作为 Python 中的条件?
- php - 用于本地 PHP 开发的 Docker:覆盖 $_SERVER 变量