首页
登录
搜索
登录
搜索
emer
累计撰写
197
篇文章
累计收到
496
条评论
首页
栏目
首页
登录
作者 【1】 的文章
2019-12-2
如何创建一个Docker的image?
如何创建一个docker的容器呢? 起始非常简单 我们首先需要简单的写一个小程序 就用c语言些吧。 Linux中需要使用到gcc 和 glibc-static包 #include<stdio.h> int main() { printf('hello world\n') } 将我们刚刚写的小程序编译 gcc -static hello.c -o hello即可 然后我们创建一个Dockerfile文件 vim Dockerfile 我们写上代码 FROM scratch ADD hello / CMD ["/hello"] 输入命令 docker build -t 295367893/hello . 这一句的命令意思是 使用docker 编译 image 文件? 怎么编译呢?在当前目录下自动查找Dockerfile 文件 使用以下命令以运行 docker run 295367893/hello 还有一条命令是可以看到docker image 的语句的 也就是layer docker history imageId
2019年-12月-2日
49 阅读
0 评论
未分类
2019-11-26
如何自己为Array实现一个flat即扁平化输出
let a = [1,2,3,4,5,[6,7, 8, [9,[10,11,[12,[13]]]]]] console.log(a) // (6) [1, 2, 3, 4, 5, Array(4)] console.log(flat(a)) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] function flat(arr) { const temp_arr = []; arr.forEach(x => { if (x instanceof Array) { temp_arr.push(...flat(x)) }else { temp_arr.push(x) } }) return temp_arr; }
2019年-11月-26日
98 阅读
0 评论
未分类
2019-11-26
JavaScript快速将Array转为Object
实现数组与对象的快速转换 首先我们来看一下正常情况下访问bar值 arr = [['bar',3],['two',6]] // 正常访问 bar console.log(arr[0][0]) // bar 使用新的API访问bar值 Object.fromEntries() // ES10新的API Object.fromEntries() const obj = Object.fromEntries(arr) console.log(obj.bar) // 3 小实例 这个时候我们有一个object类型的数据,我们需要去除key的长度不等于3的元素。我们该怎么样做呢 const obj = { abc: '1', bcd: '2', fjdkls: '3', } 思路:我们已知数组的API要远远多于object的API,那么我们可以现将obj转为array const arr = Object.entries(obj) console.log(arr) // (3) [Array(2), Array(2), Array(2)] // 0: (2) ["abc", "1"] // 1: (2) ["bcd", "2"] // 2: (2) ["fjdkls", "3"] // length: 3 // __proto__: Array(0) 这里我使用了Object.entries()将对象转为了数组 这下就可以直接使用filter进行对数组的过滤了 const res = arr.filter(([k,v]) => { return k.length === 3; }) console.log(res) // (2) [Array(2), Array(2)] // 0: (2) ["abc", "1"] // 1: (2) ["bcd", "2"] // length: 2 // __proto__: Array(0) 过滤完后我们得到了我们想要的结果,但这还不是最终的结果。因为它现在是数组。我们要将它变为对象 const res_obj = Object.fromEntries(res) console.log(res_obj) // {abc: "1", bcd: "2"} 处理完成
2019年-11月-26日
43 阅读
0 评论
未分类
2019-11-26
JavaScript提取字符串的几种方式
第一种: str = `"bar" and "foo" and "baz"`; reg = /\"(.*?)\"/g // 第一种方式 while (true) { let a = reg.exec(str) if (a === null) break; console.log(a[1]) } // 成功提取 // index.js:7 bar // index.js:7 foo // index.js:7 baz 第二种: // 第二种方式 console.log(str.match(reg)) // (3) [""bar"", ""foo"", ""baz""] // 第二种方式有点小遐思 会多双引号 第三种: // 第三种方式 利用replace str.replace(reg, function(all, first) { console.log(first) }) // 完美的成功输出了 第四种: // 第三种方式 for (const i of str.matchAll(reg)) { console.log(i) } /* (2) [""bar"", "bar", index: 0, input: ""bar" and "foo" and "baz"", groups: undefined] (2) [""foo"", "foo", index: 10, input: ""bar" and "foo" and "baz"", groups: undefined] (2) [""baz"", "baz", index: 20, input: ""bar" and "foo" and "baz"", groups: undefined] */ 本章要点: 第三种方式是利用replace的高阶用法。replace的第二个参数不仅仅是可以传入需要替换的字符串,还可以传入一个函数,函数的第一个参数是所有匹配,第二个参数是捕获字符串 第四种方式显得更加简单利用matchAll生成可迭代对象然后进行遍历
2019年-11月-26日
36 阅读
0 评论
未分类
2019-11-26
JavaScript去除首尾空格
不管在哪种语言中去除字符串首尾空格都是会经常用到的 JavaScript中我们经常用的去除首尾空格方式是替换,比如: str = ' hello world ' console.log(str.replace(/^\s+|\s+$/g, '')) // hello world 而如今ES10将会让我们更加方便的去除空格 console.log(str.trimStart()) console.log(str.trimEnd()) JavaScript此外还提供了str.trimStart()的别名 str.trimLeft() 还有str.trimEnd()的别名 str.trimRight()
2019年-11月-26日
27 阅读
0 评论
未分类
2019-11-26
JavaScript中的扁平化输出
arr = [1, [2, [3, [4, 5, [6, [7, [8, [9]]]]]]]] console.log(arr.flat(10)) // 递归的层数 ,如果指定底层数大于数组实际层数将按照数组最高层数执行 arr = [1,2,3]; console.log(arr.map(x => [x*2])) // 输出的是 [Array(1), Array(1)....] 有没有办法直接输出 2,4,6呢? 之前我们讲过flat,这时候可以在map之后加上flat即可 console.log(arr.map(x => [x*2]).flat()) //输出的是 [2,4,6] flat还提供一个API 就不需要我们写的这么多了 console.log(arr.flatMap(x => [x*2])) // 同样输出 [2,4,6]
2019年-11月-26日
32 阅读
0 评论
未分类
2019-11-24
React时间轴
https://github.com/stephane-monnot/react-vertical-timeline 基本上手就能用 不过里面的 icon 并没有给出详细的说明 icon 用这个就好了 https://github.com/react-icons/react-icons 这个具体的库在这 https://react-icons.netlify.com/#/ 很全 然后里面的icon颜色的相关设置 如果想语义话的颜色 可以看 https://www.w3schools.com/colors/colors_names.asp
2019年-11月-24日
36 阅读
0 评论
未分类
2019-11-21
如何在react中使用videojs组件
首先需要node安装video-react包 然后在index.html中添加以下 <link rel="stylesheet" href="https://video-react.github.io/assets/video-react.css" /> 在需要使用的地方首先引入 import {Player} from 'video-react'; 最后使用组件即可 <Player playsInline src="https://zytbk.oss-cn-beijing.aliyuncs.com/1.mp4" />
2019年-11月-21日
51 阅读
0 评论
未分类
2019-11-20
BrowserRouter与HashRouter的区别
关于BrowserRouter和HashRouter我百度了一下,看了网上说的一大堆总结了以下精华: BrowerRouter是为老版本浏览器提供的hash路由 意思就是说在URL中会存在#号 而BrowserRouter是新浏览器H5的路由组件 不会再URL中存在#号 switch包含的部分只会匹配一个路由
2019年-11月-20日
32 阅读
0 评论
未分类
2019-11-20
如何将html字符串转换成dom元素呢?
这里要说的不是最常见的document.createElement('div')这种方式 以上这种方式太普通了就不介绍了 下面是一个字符串 str = '<div>hello<a>链接</a></div>' 我们要把它转换成dom 对象应该如何做呢? 很简单不要使用docuemnt.createElement()的一层一层的创建 只需要使用一个内置对象DOMParser()即可 const parser = new DOMParser(); parser.parserFromString('str', 'text/html')
2019年-11月-20日
35 阅读
0 评论
未分类
1
2
3
4