内容简介:第十七周,算法题 Remove Element,看了一篇讲用 WebWorker 处理异步数据的文章,介绍了使用对象展开式来简化调用函数时要省略的参数,分享了Improving your Async functions with WebWorkers
第十七周,算法题 Remove Element,看了一篇讲用 WebWorker 处理异步数据的文章,介绍了使用对象展开式来简化调用函数时要省略的参数,分享了
Algorithm
/** * * Remove Element * https://leetcode.com/problems/remove-element/submissions/ * * @param {number[]} nums * @param {number} val * @return {number} */ var removeElement = function (nums, val) { if (nums.length == 0) return 0; var i = 0; for (var j = 0; j < nums.length; j += 1) { if (nums[j] != val) { nums[i] = nums[j] i += 1; } } return i }; console.log(removeElement([0,1,2,2,3,0,4,2], 2))
Review
Improving your Async functions with WebWorkers
文中给出了一个使用 WebWorker 来处理异步数据的例子,感觉还挺有参考价值的。
// my_worker.js const do_a_lot_of_processing = (data) => { .... } onmessage = (e) => { postMessage(do_a_lot_of_processing(e.data)); } // main.js const myWorker = new Worker('my_worker.js'); async function get_useful_data() { const raw_data = await request(some_url); myWorker.postmessage(raw_data); } const show_data => (e) { const data = e.data; ... } myWorker.onmessage(show_data); get_useful_data();
Tip
介绍一个 ES6 下调用方法有时候不填其中一个参数时的处理方法。
一般情况下,不填某个参数,就会报错。
> method('parameter1', , 'parameter3'); Uncaught SyntaxError: Unexpected token ,
当然,这里可以使用 null 来代替,其实更好的方法是使用对象展开式。
> method('parameter1', , 'parameter3'); Uncaught SyntaxError: Unexpected token ,
Share
最近在极客时间上《程序员进阶攻略》专栏看了一篇文章,内容是讲写作方面的。其实我一直认为,基本的写作能力是每个人都必须的。
老实说,看了一段时间这个专栏,感觉名不符实,专栏题目是 程序员 进阶攻略,但是内容大多是偏向软技能方面的,不是说软技能不好,每个人都需要很多软技能方面的东西,但既然题目是程序员进阶,我期望的是更多程序员编码设计等方面的进阶。
诚然,软技能是大多程序员晋升道路上必不可少的东西,可以理解为横向的边界拓展。 而编码设计能力是纵向的能力拓展,这个才是程序员毕业后几年需要提高的,然而这项能力的提升需要大量的实践。
想通这点之后,似乎就可以理解为什么这个专栏很多内容都是偏软技能方面了,因为编码这个硬技能很难通过几篇文章讲清楚,必须有大量的实践与学习。想通过几篇文章就有很大提高,不过是镜中花水中月。
想通之后,也算修正了自己的期望,从软技能的培养上看,这个专栏还是不错的,另外也推荐一本书《代码整洁之道-程序员的职业素养》。
碎碎念
记录一些所思所想,写写科技与人文,写写生活状态,写写读书心得,主要是扯淡和感悟。 欢迎关注,交流。
微信公众号:程序员的诗和远方
公众号ID : MonkeyCoder-Life
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。