javascript - 需要帮助在 Javascript 中创建 for 循环数组
问题描述
我是 Javascript 和 Node.js 的新手,我目前正在尝试编写一个 for 循环,但我非常卡住。
const url1 = options.url ? `https://www.icanhazdadjoke.com?url=https://${escape(options.url)}&key=${escape(options.key)}` : "";
const url2 = options.url ? `https://www.icanhazdadjoke.com?url=https://${escape(options.url2)}&key=${escape(options.key)}` : "";
const url3 = options.url ? `https://www.icanhazdadjoke.com?url=https://${escape(options.url3)}&key=${escape(options.key)}` : "";
const url4 = options.url ? `https://www.icanhazdadjoke.com?url=https://${escape(options.url4)}&key=${escape(options.key)}` : "";
const arr = [url1, url2, url3, url4]
上面的代码是我目前正在运行并且工作正常的代码,但我试图将它变成一个循环,如下所示。
const urlArray = [];
for (i = 1, i < 4; i++;) {
const url(i) = options.url ? `https://www.icanhazdadjoke.com?url=https://${escape(options.url(i))}&key=${escape(options.key)}` : "";
}
const arr = [url1, url2, url3, url4]
请注意,我希望第一个 const (url1) 具有 options.url 而不是 options.url1,因为它进一步破坏了代码并返回错误。如果您有任何提示或解决方案,请告诉我
此外,我将在此处保留选项,以防找出循环至关重要。它使用 yargs 来构造选项和 axios 来与 API 交互。重要的是要注意这些选项是空白的,因为我正在构建一个 CLI,它从用户那里获取多个输入,然后将这些输入插入到不同的 url 迭代中并一起运行。
const options = yargs
.usage("Usage: -u <url>")
.option("u", { alias: "url", describe: type: "string", demandOption: true })
.option("s", { alias: "url2", describe: type: "string", demandOption: true })
.option("d", { alias: "url3", type: "string", demandOption: true })
.option("f", { alias: "url4", type: "string", demandOption: true })
.option("k", { alias: "key", type: "string", demandOption: true })
.argv;
解决方案
我只是options
根据您发布的代码完全猜测看起来像什么,但是这样的工作吗?
const options = {
url: 'x.com',
url2: 'y.com',
url3: 'z.com',
url4: 'aa.com',
key: 'key'
}
function getUrl(num) {
if (num === 1) return options.url;
const key = `url${num}`;
return options[key];
}
const urlArray = [];
for (let i = 1; i <= 4; i++) {
const newUrl = options.url ? `https://www.icanhazdadjoke.com?url=https://${escape(getUrl(i))}&key=${escape(options.key)}` : "";
urlArray.push(newUrl);
}
console.log(urlArray);
使用函数将迭代变量转换为对象中的正确键是一个不错的选择。
推荐阅读
- java - 使用 DefaultMessageListenerConatiner 时如何动态更改目标队列?
- reactjs - 作为函数或常量的无状态组件
- excel - 使用 selenium 将文件下载到特定目录
- ios - 如何以编程方式制作可重用的 UILabel 和 UITextField
- javascript - electron app.on() 未定义错误,如何解决?
- css - 预定义的 CSS 类不起作用 ionic3
- mongodb - 在 Mongo 中投影嵌套文档
- java - 如何在 Intellij 的依赖项中查看源代码(包括注释)
- java - 函数 listitem.getMeasuredHeight() 只给我一行的高度,因为 listitem 是 edittext
- selenium - 在 Katalon Studio 中计算项目、行、用户等