Javascript 不必要的紧凑数组操作

标签 javascript arrays object

所以,就我自己的知识,也因为我喜欢从不同的 Angular 看问题...... 我有以下 Javascript 代码,出于这个问题的意图和目的,它只会接收格式如下的字符串:“wordone wordtwo”:

 function inName(inputName) {
    return inputName.split(" ")[1].toUpperCase();
 }

但是,这只返回了我想要的一半(“WORDTWO”)。我希望通过一次更改返回原始字符串:通过 toUpperCase(); 返回的以空格分隔的第二个单词;然后重新连接到未触及的第一个单词。 我还想不必要地在返回线上运行所有操作。我的大脑说这是可能的,因为编译器如何从左到右读取该行并根据已解决的问题对可用成员函数进行调整。 Javascript 中的一切都是对象,对吗? 出于我自己的好奇心帮助我,或者用我自己的误解来打击我。 这是使用“正常”语句解决上述问题的版本:

 function inName(inputName) {
    var nameArray=inputName.split(" ");
    nameArray[1]=nameArray[1].toUpperCase();
    return nameArray.join(" ");
 }

最佳答案

一行包含 substrindexOf 和一个变量动态 ;-)

function inName(inputName) {
 return inputName.substr(0, (index = inputName.indexOf(' '))) + inputName.substr(index).toUpperCase();
}

关于Javascript 不必要的紧凑数组操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33836153/

相关文章:

javascript - 计算并删除 JavaScript 数组中的重复项

python - 在保持顺序的同时找到两个 NumPy 数组的交集的最快方法是什么?

c++ - 在 vector 中正确存储对象

javascript - 在对象数组中连接数组

javascript - 如何使用 Javascript 向左滑动

javascript - 在不使用任何内置函数的情况下在javascript中将String转换为整数

javascript - 如何使用 .every 以及内部回调

javascript - 如何用 Web URL 替换 HTML 文件输入?

c - 如何只允许在数组中输入数字?

c# - 如何创建对象的内部搜索引擎