Node js .replace() 不是函数

     2023-03-08     204

关键词:

【中文标题】Node js .replace() 不是函数【英文标题】:Node js .replace() is not a function 【发布时间】:2018-02-17 08:17:17 【问题描述】:

当我在节点 js 中运行此代码时,我得到 TypeError: filter_list.replace is not a function,我也尝试过使用 toString 但这似乎没有帮助,有人可以帮忙吗?

var filter_list =["abcd","efgh"];
filter_list.join();
return filter_list.replace(/,/g, ' AND filter:');

【问题讨论】:

【参考方案1】:

var filter_list = [ "abcd", "efgh" ] 表示filter_listArrayreplace 属性函数只适用于String

您的Array.join() 调用不会将现有数组Array 实例转换(变异)为String - 而是返回一个包含连接内容的新字符串。

你会想要这个:

var filter_list = ["abcd","efgh"];
var filter_list_as_string = filter_list.join();
return filter_list_as_string.replace(/,/g, 'AND filter:');

或者更简洁:

return ["abcd","efgh"].join().replace(/,/g, 'AND filter:');

我建议您使用 TypeScript 而不是 JavaScript 为 Node 编程 - 因为它会为您捕捉这些打字问题。

【讨论】:

戴,你不需要替换【参考方案2】:

arr.join返回一个字符串,它不会改变数组本身。

var filter_list =["abcd","efgh"];
var str = filter_list.join();
return str.replace(/,/g, ' AND filter:');

【讨论】:

【参考方案3】:

因为join 不会就地更改变量,而是返回另一个修改后的变量,所以您的代码应该是:

var filter_list =["abcd","efgh"];
filter_list = filter_list.join(); // assign the joined array back to the variable
console.log(filter_list.replace(/,/g, ' AND filter:'));

【讨论】:

【参考方案4】:

.join() 不会改变原始对象。正确的代码应该是:

var filter_list =["abcd","efgh"];
var joined_list = filter_list.join();
return joined_list.replace(/,/g, ' AND filter:');

【讨论】:

【参考方案5】:

您也可以使用toString()

var filter_list =["abcd","efgh"];
filter_list = filter_list.toString().replace(/,/g, ' AND filter:');
console.log(filter_list)

【讨论】:

【参考方案6】:

使用带有参数的 Array.join。

var filter_list =["abcd","efgh"];
console.log(filter_list.join(' AND filter:'));

【讨论】:

res.sendFile 不是 Node.js 的函数

】res.sendFile不是Node.js的函数【英文标题】:res.sendFileisnotafunctionNode.js【发布时间】:2015-12-1005:20:49【问题描述】:我无法使用node.js发送HTML文件所以首先这是我遇到的错误Applicationhasthrownanuncaughtexceptionandisterminated:TypeError:res.sendFi... 查看详情

Node.js res.send 不是一个函数

】Node.jsres.send不是一个函数【英文标题】:Node.jsres.sendisnotafunction【发布时间】:2017-10-2520:08:35【问题描述】:我正在尝试以下代码,但它给了我一个错误,“res.send不是函数”。请帮我。代码如下:varhttp=require(\'http\');varfs=requir... 查看详情

connection.query 不是一个函数 Node.js MySQL

】connection.query不是一个函数Node.jsMySQL【英文标题】:connection.queryisnotafunctionNode.jsMySQL【发布时间】:2017-09-1911:44:54【问题描述】:我尝试使用mySQL连接进行INSERT。但它说connection.query()不是一个函数。我可以在sql.js文件中执行INSERT... 查看详情

node.js / react 使用 graphql createReadStream 上传文件不是函数

】node.js/react使用graphqlcreateReadStream上传文件不是函数【英文标题】:node.js/reactUploadfilewithgraphqlcreateReadStreamisnotafunction【发布时间】:2021-07-1206:36:18【问题描述】:我正在尝试将文件(图像)从我的客户端应用程序(react)发送到... 查看详情

TypeError:x 不是 Node.js 中的函数

】TypeError:x不是Node.js中的函数【英文标题】:TypeError:xisnotafunctioninNode.js【发布时间】:2018-11-2613:37:24【问题描述】:我正在开发一个Electron应用程序,我的目标是“拆分”index.js(主进程)文件。目前,我已将与菜单栏相关和... 查看详情

TypeError:回调不是函数,“node_modules\jsonwebtoken\sign.js:101:14)”

】TypeError:回调不是函数,“node_modules\\\\jsonwebtoken\\\\sign.js:101:14)”【英文标题】:TypeError:callbackisnotafunction,"node_modules\\jsonwebtoken\\sign.js:101:14)"TypeError:回调不是函数,“node_modules\\jsonwebtoken\\sign.js:101: 查看详情

TypeError:ws.onopen 不是 stomp-node.js 中的函数

】TypeError:ws.onopen不是stomp-node.js中的函数【英文标题】:TypeError:ws.onopenisnotafunctioninstomp-node.js【发布时间】:2019-02-0204:56:06【问题描述】:我需要使用nodejs为javascript运行stomp客户端并通过websocket发送stomp消息。我有一个js文件send... 查看详情

包装 node.js 同步函数是不是使其执行与其等效的异步相同?

】包装node.js同步函数是不是使其执行与其等效的异步相同?【英文标题】:Doeswrappinganode.jssyncfunctionmakeitperformthesameasitsasyncequivalent?包装node.js同步函数是否使其执行与其等效的异步相同?【发布时间】:2015-11-2814:07:20【问题描述... 查看详情

类型错误:不是 NODE JS DIScord Bot 中的函数 [关闭]

】类型错误:不是NODEJSDIScordBot中的函数[关闭]【英文标题】:Typeerror:IsnotafunctioninNODEJSDIscordBot[closed]【发布时间】:2021-04-1217:01:29【问题描述】:constDBM=;constDiscordJS=require("discord.js");constBot=DBM.Bot=;Bot.on("ready",()=>console.log( 查看详情

TypeError:Task.find 不是 Node Js 中的函数

】TypeError:Task.find不是NodeJs中的函数【英文标题】:TypeError:Task.findisnotafunctioninNodeJs【发布时间】:2021-01-0803:31:18【问题描述】:我的模型有问题。我已连接到MongoDB,并且我的服务器运行良好。但是我无法通过TaskController路由。... 查看详情

cb 不是 hapi-auth-jwt2 中的函数 - Node.js

】cb不是hapi-auth-jwt2中的函数-Node.js【英文标题】:cbisnotafunctioninhapi-auth-jwt2-Node.js【发布时间】:2018-07-2910:06:32【问题描述】:我正在关注this教程在hapijsv17.2中实现jwtauthentication。我按照教程做了所有的事情,但是下面的错误让我... 查看详情

Node.js - 使用 module.exports 作为构造函数

...数),或者如果您想在一个中导出一个完整的对象分配而不是一次构建一个属性,将其分配给module.exports而不是export。给出的例子是://f 查看详情

node.js:typeerror:req.end不是一个函数(代码片段)

我得到一个req.end不是一个函数,当它在代码中的其他地方起作用时。从谷歌搜索中,我已经看到也许全局req变量丢失了吗?但是我没有使用任何其他名为req的变量...这仅在名字和姓氏检查循环内发生.....app.post('/createaccount',functio... 查看详情

js的replace如何全部替换目标字符串

replace函数一次只能替换一个目标字符串,可以配合while循环替换所有字符串。1、在script标签中定义一个字符串,字符串内容为“一个中国北方的中国人在做中国结”,然后将内容输出在网页中:2、使用replace函数,这时第一个“... 查看详情

.replace 不是 javascript 中的函数错误 [重复]

】.replace不是javascript中的函数错误[重复]【英文标题】:.replaceisnotafunctionerrorinjavascript[duplicate]【发布时间】:2017-10-1804:01:59【问题描述】:在javascript中,以下内容返回一个错误,说明hello.replaceAt不是函数,hello.replaceAt未定义。v... 查看详情

Passport.js - req.isAuthenticated 不是一个函数

】Passport.js-req.isAuthenticated不是一个函数【英文标题】:Passport.js-req.isAuthenticatedisnotafunction【发布时间】:2022-01-0614:38:43【问题描述】:我是node和express和node的新手,我正在使用passport.js构建身份验证功能。在我的路由中,我使用... 查看详情

TypeError: (intermediate value).parseFromString(...).replace 不是函数

】TypeError:(intermediatevalue).parseFromString(...).replace不是函数【英文标题】:TypeError:(intermediatevalue).parseFromString(...).replaceisnotafunction【发布时间】:2022-01-1720:12:31【问题描述】:我想将parsedHtml显示到元素中。但在显示之前,我应该将... 查看详情

readFileSync 不是函数

】readFileSync不是函数【英文标题】:readFileSyncisnotafunction【发布时间】:2016-09-2123:00:24【问题描述】:我对Node.js比较陌生,一直在四处寻找,但找不到解决方案。我确实检查了需要的javascript文件,它似乎没有“readFileSync”的方... 查看详情