Dry Realm

Get busy living

Category

  • DevOps
  • Javascript
  • Review
  • 一些技巧
  • 其它
  • 学习过程中的所感所想
  • 拼命学习
  • 那些年的所见所闻
  • 随笔

Tags

  • Node.js
  • MongoDB
  • HTTP
  • linux
  • express
  • es6
  • docker
  • 面试总结
  • typescript
  • 运维
  • 文字
  • 南京
  • 年度总结
  • 西安
  • 新博客框架
  • 3rd-lib
  • 大黑猫
  • vscode
  • jenkins pipeline
  • linux指令
  • 网络
  • k8s
  • 数据库连接
  • Git
  • 第三方库
  • webpack
  • 子网掩码
  • new life
  • MySQL
  • git
  • review
  • ntzyz大佬
  • 数据库
  • 本地版博客
  • 数学
  • Css
  • eslint
  • 负数
  • 正则表达式
  • 语句
  • javascript
  • wsl2
  • devcontainer
  • docker swarm
  • 离别
  • Gitlab Api
  • 下载youtube
  • ECMA

Recent replies

  • xzdry 发表于「使用ffmpeg和youtube-dl下载youtube视频」

友链

ntzyz double

我

真诚
很看重自己在乎的人
希望能越来越好
爱蛋蛋
分类:Javascript

抽象相等学习

2021 年 11 月 2 日分类:Javascript#面试总结#ECMA
提示:在继续阅读之前,请注意此文章最后更新于 1327 天前,其中的部分内容可能已经无效或过时。

ToPrimitive

首先贴一个ToPrimitive的概念,这是一个拆箱相关的概念。

MORE

Typescript学习笔记

2021 年 6 月 16 日分类:Javascript#typescript
提示:在继续阅读之前,请注意此文章最后更新于 1467 天前,其中的部分内容可能已经无效或过时。

解决Duplicate function implementation

原因是两个文件的函数都出在全局范围内。在开头加export {},或者导出这个函数解决
参考:Duplicate function implementation

MORE

Css复习

2020 年 12 月 6 日分类:Javascript#Css
这是一个受密码保护的文章,请点击下放的更多按钮,并提供密码。
MORE

webpack & webpack-chain学习

2020 年 9 月 12 日分类:Javascript#webpack
提示:在继续阅读之前,请注意此文章最后更新于 1743 天前,其中的部分内容可能已经无效或过时。

q使用webpack chain来设置webpack,使用方法如下:

MORE

常用函数

2020 年 3 月 9 日分类:Javascript#es6
提示:在继续阅读之前,请注意此文章最后更新于 1931 天前,其中的部分内容可能已经无效或过时。

数组

001 数组去重合并

例子1摘自MDN的Array.from()
文档:

function combine() {
  let arr = [].concat.apply([], arguments); // 没有去重复的新数组
  return Array.from(new Set(arr));
}
let m = [1, 2, 2, 'a', 'b'], n = [2, 3, 3, 'a'];
console.log(combine(m, n));  // [ 1, 2, 'a', 'b', 3 ]

关键点在于使用apply可以在不创建新数组的情况下将arguments合入[]和使用Set去重。Set对象允许你存储任何类型的唯一值。然后用Array.from()将其转化为数组元素。
参见:Function.prototype.apply()
Set

002 比较权重

function getItems(goal) {
  let arrItems = Array.from(goal).sort(compare('weight'));
  return arrItems;
}

function compare(property) {
  return function (a, b) {
    return a[property] - b[property];
  }
}

getItems([{ a: 4, weight: 4 }, { b: 2, weight: 2 }, { c: 3, weight: 3 }]);
// result:[{ b: 2, weight: 2 }, { c: 3, weight: 3 }, { a: 4, weight: 4 }]

003 Camel-Case

第一种是从从commander.js偷来的

function camelcase(flag) {
  return flag.split('-').reduce((str, word) => {
    return str + word[0].toUpperCase() + word.slice(1);
  });
}

其实这个准确的来说应该是Pascal(大驼峰法) 但是commander.js的对象program使用的都是小驼峰法(以下简称驼峰法),这么看来是我还没偷对。
而在lodash中的camelCase则是这么写的:

const camelCase = (string) => (
  words(toString(string).replace(/['\u2019]/g, '')).reduce((result, word, index) => {
    word = word.toLowerCase()
    return result + (index ? upperFirst(word) : word)
  }, '')
)

这边用到了一个叫words的函数,比较复杂,下次在写吧

  • «
  • 1
  • 2
  • »
Copyright © 2016-2018 ntzyz. All rights reversed.
Except where otherwise noted, content on this blog is licensed under CC-BY 2.0.