dov*_*ell 2 javascript arrays string replace node.js
当我在 node 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:');
Run Code Online (Sandbox Code Playgroud)
var filter_list = [ "abcd", "efgh" ]意味着这filter_list是一个Array. 该replace属性的功能仅适用于String。
您的Array.join()调用不会将现有数组Array实例转换(变异)为 a String- 而是返回一个包含连接内容的新字符串。
你会想要这个:
var filter_list = ["abcd","efgh"];
var filter_list_as_string = filter_list.join();
return filter_list_as_string.replace(/,/g, 'AND filter:');
Run Code Online (Sandbox Code Playgroud)
或者更简洁:
return ["abcd","efgh"].join().replace(/,/g, 'AND filter:');
Run Code Online (Sandbox Code Playgroud)
我建议您使用 TypeScript 而不是 JavaScript 为 Node 编程 - 因为它会为您解决这些打字问题。