2013-09-30 42 views
0

寻找一个函数,该函数需要一个字符的字符串和位置,并使整个事物小写,然后大写通过位置。不确定实现这一目标的最佳方式是什么,特别是可以转换多个角色的方式?有什么想法吗?使用选定的大小写将字符串转换为

+2

你有什么这么远吗?发布您当前的工作将有助于您获得更多答案。 – 2013-09-30 18:54:07

+0

这听起来像是其中一个“我试图通过做B来解决问题A,所以我该如何做B?” - 虽然可能有解决问题A的更好方法。你最初的用例是什么? – andi

+0

不知道我是否理解你的问题,你是否在寻找类似的东西? http://jsfiddle.net/xcBrz/1/ – y0ruba

回答

0

好了,根据你说你的实际使用情况是: “我有一大堆的‘特殊情况’变量这些名字我必须考虑并转换成可以以任何格式传递的正确案例(具体案例)。“

在这种情况下,我会做这些变量名的数组:

var names = ["purchaseID", "scAdd", "scCheckout"]; 

然后将每一个小写版本与传入的参数的小写版本,如果他们是平等的,设置传递参数等于存储阵列中的值:

var transformString = function(str) { 
    for (var i = 0; i < names.length; i++) { 
     if (str.toLowerCase() === names[i].toLowerCase()){ 
      return names[i]; 
     } 
    } 
}; 

见琴:http://jsfiddle.net/7Acb4/

+0

好主意!谢谢! –

1

我不是要给你的代码来解决这个问题,但我可以给你一推:

  • 采取字符串和小写它
  • 采取该字符串和.split()它(使用它这样,在分裂没有值)

现在你有在阵列中的每个字符,并且其中N代表的位置就可以通过访问characterArray[N-1]每第N个字符:

characterArray[N-1] = characterArray[N-1].toUpperCase(); 

最后,使用.join()再次对其进行串联。 -1是纠正零索引,数组第一个关键是0,不1

相关问题