20181021_ARTS_week17

栏目: IT资讯 · 发布时间: 5年前

内容简介:第十七周,算法题 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

http://www.jstips.co/en/javascript/improving-your-async-functions-with-webworkers/?nsukey=pTemAsdIVo93vJEweycCfwgRUfqYH2JARg7OngZG%2FOytE6zZbEHiZuHMzBFl1Exnbk0L%2FucBrR9FydfXCrxjIFToZu%2Fvhh4L5CNILN7AWJ9halt5aXVNc8WXzYrHpqnnvYSdT5CO%2F5CiPCrOYj5pTQ%3D%3D

文中给出了一个使用 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

20181021_ARTS_week17


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Foundation Web Standards

Foundation Web Standards

Jonathan Lane、Steve Smith / Friends of ED / 21st July 2008 / $34.99

Foundation Web Standards explores the process of constructing a web site from start to finish. There is more to the process than just knowing HTML! Designers and developers must follow a proper proces......一起来看看 《Foundation Web Standards》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具