js call()的传参问题 //codewars上遇到的题目

发布于 2022-09-01 22:58:59 字数 768 浏览 17 评论 0

今天在codewars上遇到了这样一个问题,不要脸的我又来问答案了,哈哈。。

clipboard.png

下面是我写的答案:

clipboard.png

运行后:

clipboard.png

好像我的首字母没有转换过来!我觉得应该是call()的传参出的问题,可是我单独打印变量n时,它已经是大写了,还是我继承数组的原型对象时出错了。实在不知是那个地方出了问题,特来求助!!!!求大神指点。

谢谢大家,问题解决了。。贴上一个别人通过的代码。。

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一指流沙 2022-09-08 22:58:59

这代码跑得起来吗?
Array.prototype.splice.call第一个参数你要传个数组进去才行,arr[i]是个字符串吧。

习惯成性 2022-09-08 22:58:59

splice是数组方法而不是字符串

function generateHashtag(str){
    var arr, i,tempArr;
    if(!str||str.length>140||str.length==0){
        return false;
    }
    arr=str.split(" ");
    for(i=0;i< arr.length;i++){
        tempArr=arr[i].split('');
        Array.prototype.splice.call(tempArr,0,1,tempArr[0].toUpperCase());
        arr[i]=tempArr.join('');
    }
    return '#'+ arr.join('');
}
你与清晨阳光 2022-09-08 22:58:59

不明白为什么要Array.prototype.splice.call,楼主能解释一下吗

实现楼主的功能可以用更加直观的方法

var str = "shan de na bian hai de na bian you yi qun da shui bi"
console.log(str);

var strArr = str.split(" ")
var strArrResolved = strArr.map(function(word){
    return word.charAt(0).toUpperCase() + word.slice(1)
})
var strResolved = strArrResolved.join(" ");

console.log(strResolved);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文