首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查argv是否以.js结尾

检查argv是否以.js结尾
EN

Stack Overflow用户
提问于 2020-12-11 21:32:22
回答 2查看 40关注 0票数 0

我正在尝试做一个简单的程序,从命令行侦听argv,但是我得到了这个错误

代码语言:javascript
复制
C:\Users\user\Desktop\RLC Tracker & Updater\obfuscate.js:19
    console.log(name.substr(-3));
                     ^
TypeError: name.substr is not a function
    at Object.<anonymous> (C:\Users\user\Desktop\RLC Tracker & Updater\obfuscate
.js:19:22)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)

这是密码

代码语言:javascript
复制
// Select the file as a argv
var name = process.argv.slice(2);

// Checks if the argv is null or empty
if(name == "")
{
    console.log("\nPlease insert the file name.");
}
else if(name.substr(-3) == ".js")
{
    // Code
}
else
{
    //Code
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-11 21:37:27

.slice()返回一个数组。所以:

代码语言:javascript
复制
var name = process.argv.slice(2);

name设置为以索引2开头的所有参数的数组。

代码语言:javascript
复制
var name = process.argv[2];
票数 0
EN

Stack Overflow用户

发布于 2020-12-11 21:43:07

Array.slice()返回一个数组。所以你想说些类似的话:

代码语言:javascript
复制
const name = process.argv.slice(2)[0]; // /will be undefined if not provided
if (!name) {
  console.log("\nPlease insert the file name.");
} else if ( /[.][Jj][Ss]/.test(name) ) {
  // name ends with '.js' (or '.JS' or '.Js' or '.jS')
} else {
  // name does not end with '.js'
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65258912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档