一般编程:在一行上完成所有操作比按步骤完成所有操作更好吗?

  • 本文关键字:操作 更好 编程 一行 javascript
  • 更新时间 :
  • 英文 :


我是新手,我在很多在线课程/免费信息中遇到了问题。

什么时候"在一条线上做所有事情"比一步一步地拼凑更好?一般来说,我喜欢一步一步地做所有事情,因为它使事情更容易阅读和调试;但是,我看到的大多数解决方案都可以在"一个大镜头"中完成所有工作。例如,从 Javascript.info 执行Javascript,有一个问题需要拆分输入字符串,将数组中的项目大写,然后返回新数组的字符串。

我的解决方案:

>let arr = input.split("-"); 
>//Step 1 - split the string
>let modified = arr.map((word, idx) => (idx > 0 ? word.charAt(0).toUpperCase() + >word.slice(1) : word ) ); 
>//Step 2- capitalize every first letter except the first index
>return modified.join(""); //step 3- return new joined string

提出了解决方案:

return str
.split('-') // my-long-word -> ['my', 'long', 'word']
.map( 
(word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1)
) 
// ['my', 'long', 'word'] -> ['my', 'Long', 'Word']
.join(''); // ['my', 'Long', 'Word'] -> myLongWord

一次完成所有事情更好吗?我知道从技术上讲,提出的解决方案更好(使用更少的变量,因此使用内存)。我应该尝试养成在一次大镜头中做所有事情的习惯吗?当我(几年后)为公司面试时,这是一个很好的做法吗?第一个解决方案使我更容易理解,我会猜测以后查看我的代码的其他任何人。

感谢您的帮助!

IMO 最好的是:

["my", "long", "word"].reduce((res, w) => res + w[0].toUpperCase() + w.substr(1))

最新更新