繁体   English   中英

JavaScript:x.split 不是函数错误

[英]JavaScript: x.split is not a function error

我一直致力于将数字转换为字符串,然后转换为数组并将每个数组值相加。 我遇到了一个错误,上面写着“x.split 不是 arr 中的函数”。 任何解决方案?

 function quan(x) { str(x); arr(x); int(x); return x; } function str(x) { return x.toString(); } function arr(x) { return x.split(""); } function int(x) { return parseFloat(x); } console.log(quan(13));

您正在调用的每个函数都会返回一个新值——它们不会就地修改该值,因此当您调用splitx仍然是一个数字,并且您无法拆分一个数字。

尝试在控制台中运行它以了解我的意思:

x = 13
console.log(x.toString()) # output: "13"
console.log(x, typeof x) # output: 13 "string"

相反,您需要重新分配x或创建新变量。

x = 13
x = x.toString() # now x is the string "13"
y = x.split("") # y is ["1", "3"]

您可以使用组合函数方法。

 function compose(...fns) { return function(arg) { return fns.reduce((acc, fn) => fn(acc), arg); } } function str(x) { return x + ''; } function arr(x) { return x.split(""); } function int(x) { return parseFloat(x); } const compositionFn = compose(str, arr, int); console.log(compositionFn(22));

拼写错误? 我看了很多遍,认为我的 IDE 坏了,搜索堆栈溢出 str.split 不是一个函数。 仔细检查后发现我写了str.spilt和 dam,如果它在不经意间看起来是一样的。 所以问题是我不是ide或javascript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM