20181021_ARTS_week17

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

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


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

查看所有标签

猜你喜欢:

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

程序设计语言

程序设计语言

斯科特 / 裘宗燕 / 电子工业出版社 / 2005-1 / 88.00元

这是一本很有特色的教材,其核心是讨论程序设计语言的工作原理和技术。本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构的材料,以满足没学过计算机组织的学生们的需要。书中通过各种语言的例子,阐释了程序设计语言的重要基础概念,讨论了各种概念之间的关系,解释了语言中许多结构的形成和发展过程,以及它们演化为今天这种形式的根源。书中还详细讨论了编译器的工作方式和工作过程,......一起来看看 《程序设计语言》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

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

HSV CMYK互换工具