直奔主题吧,楼主是做 Node.js 的,培训实习生的时候有一个实习生写了这么个算法:
/** * 将任意类型元素的数组转化成字符串数组 * @param {Array} theArray * @returns {String[]} */ function toStringArray(theArray) { if (theArray.length > 0) { return theArray .toString()//将数组整个转化成字符串,如[1,2]在 toString 之后会变成'1,2' .split(',');//将上面返回的字符串,以','为分界分割成字符串数组 } else { /** * 如果数组的长度为 0,没必要做任何处理,则直接返回原数组 */ return theArray; } } 考虑到这个频道里可能有些朋友不是很熟悉 Javascript,所以我优化了一下写法,并增加了一些注释,希望尽可能讲明白这个算法思想是什么。
通常肯定是循环处理数组中每个元素,然后每个元素转成字符串,最终生成一个新数组。 直观上觉得学员的算法不妥,但一时又无法从脑海深处挖掘出究竟问题出在哪,觉得直接向学员宣判这种为错误算法也不好,最好让他能知其所以然。
故在此抛砖引玉,请有想法的朋友各抒己见。
